[Issue #651] Adding workaround for Rails behavior of returning a single space in head :ok responses, which is interpreted as invalid input by NSJSONSerialization

Signed-off-by: Mattt Thompson <m@mattt.me>
This commit is contained in:
Sebastian Ludwig 2012-11-30 14:40:53 -08:00 committed by Mattt Thompson
parent 99c58dcf08
commit d3cb65c087

View file

@ -64,7 +64,9 @@ static dispatch_queue_t json_request_operation_processing_queue() {
if (!_responseJSON && [self.responseData length] > 0 && [self isFinished] && !self.JSONError) {
NSError *error = nil;
if ([self.responseData length] == 0) {
// Workaround for behavior of Rails to return a single space for `head :ok` (a workaround for a bug in Safari), which is not interpreted as valid input by NSJSONSerialization.
// See https://github.com/rails/rails/issues/1742
if ([self.responseData length] == 0 || [self.responseString isEqualToString:@" "]) {
self.responseJSON = nil;
} else {
// Workaround for a bug in NSJSONSerialization when Unicode character escape codes are used instead of the actual character