Repositorio del curso CCOM4030 el semestre B91 del proyecto Artesanías con el Instituto de Cultura

BinaryRequestSerializer.m 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #import "BinaryRequestSerializer.h"
  2. @implementation BinaryRequestSerializer
  3. + (instancetype)serializer
  4. {
  5. BinaryRequestSerializer *serializer = [[self alloc] init];
  6. return serializer;
  7. }
  8. #pragma mark - AFURLRequestSerialization
  9. - (NSURLRequest *)requestBySerializingRequest:(NSURLRequest *)request
  10. withParameters:(id)parameters
  11. error:(NSError *__autoreleasing *)error
  12. {
  13. NSParameterAssert(request);
  14. if ([self.HTTPMethodsEncodingParametersInURI containsObject:[[request HTTPMethod] uppercaseString]]) {
  15. return [super requestBySerializingRequest:request withParameters:parameters error:error];
  16. }
  17. NSMutableURLRequest *mutableRequest = [request mutableCopy];
  18. [self.HTTPRequestHeaders enumerateKeysAndObjectsUsingBlock:^(id field, id value, BOOL * __unused stop) {
  19. if (![request valueForHTTPHeaderField:field]) {
  20. [mutableRequest setValue:value forHTTPHeaderField:field];
  21. }
  22. }];
  23. if (parameters) {
  24. if (![mutableRequest valueForHTTPHeaderField:@"Content-Type"]) {
  25. [mutableRequest setValue:@"application/octet-stream" forHTTPHeaderField:@"Content-Type"];
  26. }
  27. [mutableRequest setHTTPBody: parameters];
  28. }
  29. return mutableRequest;
  30. }
  31. #pragma mark - NSSecureCoding
  32. - (instancetype)initWithCoder:(NSCoder *)decoder {
  33. self = [super initWithCoder:decoder];
  34. if (!self) {
  35. return nil;
  36. }
  37. return self;
  38. }
  39. @end