@@ -189,24 +189,29 @@ - (void)prettyPrintDebugStatementWithRequest:(OneSignalRequest *)request {
189
189
}
190
190
191
191
NSString *jsonString = [[NSString alloc ] initWithData: data encoding: NSUTF8StringEncoding];
192
-
193
- [OneSignalLog onesignalLog: ONE_S_LL_VERBOSE message: [NSString stringWithFormat: @" HTTP Request (%@ ) with URL: %@ , with parameters: %@ " , NSStringFromClass ([request class ]), request.urlRequest.URL.absoluteString, jsonString]];
192
+
193
+ [OneSignalLog onesignalLog: ONE_S_LL_VERBOSE message: [NSString stringWithFormat: @" HTTP Request (%@ ) with URL: %@ , with parameters: %@ and headers: %@ " , NSStringFromClass ([request class ]), request.urlRequest.URL.absoluteString, jsonString, request.additionalHeaders ]];
194
194
}
195
195
196
196
- (void )handleJSONNSURLResponse : (NSURLResponse *)response data : (NSData *)data error : (NSError *)error isAsync : (BOOL )async withRequest : (OneSignalRequest *)request onSuccess : (OSResultSuccessBlock)successBlock onFailure : (OSFailureBlock)failureBlock {
197
197
198
198
NSHTTPURLResponse * HTTPResponse = (NSHTTPURLResponse *)response;
199
199
NSInteger statusCode = [HTTPResponse statusCode ];
200
+ NSDictionary *headers = [HTTPResponse allHeaderFields ];
200
201
NSError * jsonError = nil ;
201
202
NSMutableDictionary * innerJson;
202
203
203
204
if (data != nil && [data length ] > 0 ) {
204
205
innerJson = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &jsonError];
205
206
innerJson[@" httpStatusCode" ] = [NSNumber numberWithLong: statusCode];
207
+ innerJson[@" headers" ] = headers;
208
+
209
+ [OneSignalLog onesignalLog: ONE_S_LL_VERBOSE message: [NSString stringWithFormat: @" network request (%@ ) with URL %@ and headers: %@ " , NSStringFromClass ([request class ]), request.urlRequest.URL.absoluteString, request.additionalHeaders]];
210
+
206
211
[OneSignalLog onesignalLog: ONE_S_LL_VERBOSE message: [NSString stringWithFormat: @" network response (%@ ) with URL %@ : %@ " , NSStringFromClass ([request class ]), request.urlRequest.URL.absoluteString, innerJson]];
207
212
if (jsonError) {
208
213
if (failureBlock != nil )
209
- failureBlock ([NSError errorWithDomain: @" OneSignal Error" code: statusCode userInfo: @{@" returned" : jsonError}]);
214
+ failureBlock ([NSError errorWithDomain: @" OneSignal Error" code: statusCode userInfo: @{@" returned" : jsonError, @" headers " : headers }]); // Add headers to error block
210
215
return ;
211
216
}
212
217
}
@@ -224,14 +229,15 @@ - (void)handleJSONNSURLResponse:(NSURLResponse*)response data:(NSData*)data erro
224
229
} else if (failureBlock != nil ) {
225
230
// Make sure to send all the infomation available to the client
226
231
if (innerJson != nil && error != nil )
227
- failureBlock ([NSError errorWithDomain: @" OneSignalError" code: statusCode userInfo: @{@" returned" : innerJson, @" error" : error}]);
232
+ failureBlock ([NSError errorWithDomain: @" OneSignalError" code: statusCode userInfo: @{@" returned" : innerJson, @" error" : error, @" headers " : headers }]);
228
233
else if (innerJson != nil )
229
- failureBlock ([NSError errorWithDomain: @" OneSignalError" code: statusCode userInfo: @{@" returned" : innerJson}]);
234
+ failureBlock ([NSError errorWithDomain: @" OneSignalError" code: statusCode userInfo: @{@" returned" : innerJson, @" headers " : headers }]);
230
235
else if (error != nil )
231
- failureBlock ([NSError errorWithDomain: @" OneSignalError" code: statusCode userInfo: @{@" error" : error}]);
236
+ failureBlock ([NSError errorWithDomain: @" OneSignalError" code: statusCode userInfo: @{@" error" : error, @" headers " : headers }]);
232
237
else
233
- failureBlock ([NSError errorWithDomain: @" OneSignalError" code: statusCode userInfo: nil ]);
238
+ failureBlock ([NSError errorWithDomain: @" OneSignalError" code: statusCode userInfo: @{ @" headers " : headers} ]);
234
239
}
235
240
}
236
241
242
+
237
243
@end
0 commit comments