Allow customizing content type for JSON responses
This commit is contained in:
@ -63,10 +63,12 @@
|
|||||||
+ (GCDWebServerDataResponse*)responseWithHTML:(NSString*)html;
|
+ (GCDWebServerDataResponse*)responseWithHTML:(NSString*)html;
|
||||||
+ (GCDWebServerDataResponse*)responseWithHTMLTemplate:(NSString*)path variables:(NSDictionary*)variables;
|
+ (GCDWebServerDataResponse*)responseWithHTMLTemplate:(NSString*)path variables:(NSDictionary*)variables;
|
||||||
+ (GCDWebServerDataResponse*)responseWithJSONObject:(id)object;
|
+ (GCDWebServerDataResponse*)responseWithJSONObject:(id)object;
|
||||||
|
+ (GCDWebServerDataResponse*)responseWithJSONObject:(id)object contentType:(NSString*)type;
|
||||||
- (id)initWithText:(NSString*)text; // Encodes using UTF-8
|
- (id)initWithText:(NSString*)text; // Encodes using UTF-8
|
||||||
- (id)initWithHTML:(NSString*)html; // Encodes using UTF-8
|
- (id)initWithHTML:(NSString*)html; // Encodes using UTF-8
|
||||||
- (id)initWithHTMLTemplate:(NSString*)path variables:(NSDictionary*)variables; // Simple template system that replaces all occurences of "%variable%" with corresponding value (encodes using UTF-8)
|
- (id)initWithHTMLTemplate:(NSString*)path variables:(NSDictionary*)variables; // Simple template system that replaces all occurences of "%variable%" with corresponding value (encodes using UTF-8)
|
||||||
- (id)initWithJSONObject:(id)object;
|
- (id)initWithJSONObject:(id)object;
|
||||||
|
- (id)initWithJSONObject:(id)object contentType:(NSString*)type;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface GCDWebServerFileResponse : GCDWebServerResponse
|
@interface GCDWebServerFileResponse : GCDWebServerResponse
|
||||||
|
|||||||
@ -215,6 +215,10 @@
|
|||||||
return ARC_AUTORELEASE([[self alloc] initWithJSONObject:object]);
|
return ARC_AUTORELEASE([[self alloc] initWithJSONObject:object]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ (GCDWebServerDataResponse*)responseWithJSONObject:(id)object contentType:(NSString*)type {
|
||||||
|
return ARC_AUTORELEASE([[self alloc] initWithJSONObject:object contentType:type]);
|
||||||
|
}
|
||||||
|
|
||||||
- (id)initWithText:(NSString*)text {
|
- (id)initWithText:(NSString*)text {
|
||||||
NSData* data = [text dataUsingEncoding:NSUTF8StringEncoding];
|
NSData* data = [text dataUsingEncoding:NSUTF8StringEncoding];
|
||||||
if (data == nil) {
|
if (data == nil) {
|
||||||
@ -246,12 +250,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (id)initWithJSONObject:(id)object {
|
- (id)initWithJSONObject:(id)object {
|
||||||
|
return [self initWithJSONObject:object contentType:@"application/json"];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id)initWithJSONObject:(id)object contentType:(NSString*)type {
|
||||||
NSData* data = [NSJSONSerialization dataWithJSONObject:object options:0 error:NULL];
|
NSData* data = [NSJSONSerialization dataWithJSONObject:object options:0 error:NULL];
|
||||||
if (data == nil) {
|
if (data == nil) {
|
||||||
ARC_RELEASE(self);
|
ARC_RELEASE(self);
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
return [self initWithData:data contentType:@"application/json"];
|
return [self initWithData:data contentType:type];
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
Reference in New Issue
Block a user