diff --git a/Sources/Amplitude/Amplitude.m b/Sources/Amplitude/Amplitude.m index a573c501..62d91312 100644 --- a/Sources/Amplitude/Amplitude.m +++ b/Sources/Amplitude/Amplitude.m @@ -139,6 +139,7 @@ @implementation Amplitude { NSString *_serverUrl; NSString *_token; + NSDictionary *_HTTPAdditionalHeaders; AMPPlan *_plan; AMPServerZone _serverZone; AMPMiddlewareRunner *_middlewareRunner; @@ -987,6 +988,11 @@ - (void)makeEventUploadPostRequest:(NSString *)url events:(NSString *)events num [request setValue:auth forHTTPHeaderField:@"Authorization"]; } + if (_HTTPAdditionalHeaders != nil){ + [_HTTPAdditionalHeaders enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) { + [request setValue:obj forHTTPHeaderField:key]; + }]; + } [request setHTTPBody:postData]; AMPLITUDE_LOG(@"Events: %@", events); @@ -1448,6 +1454,10 @@ - (void)setBearerToken:(NSString *)token { self->_token = token; } +- (void)setHTTPAdditionalHeaders: (NSDictionary *)HTTPAdditionalHeaders{ + self->_HTTPAdditionalHeaders = HTTPAdditionalHeaders; +} + - (void)updateEventUploadMaxBatchSize:(int)eventUploadMaxBatchSize { _eventUploadMaxBatchSize = eventUploadMaxBatchSize; _backoffUploadBatchSize = eventUploadMaxBatchSize; diff --git a/Sources/Amplitude/Public/Amplitude.h b/Sources/Amplitude/Public/Amplitude.h index f16ad625..4db58519 100644 --- a/Sources/Amplitude/Public/Amplitude.h +++ b/Sources/Amplitude/Public/Amplitude.h @@ -651,6 +651,8 @@ typedef void (^AMPInitCompletionBlock)(void); - (void)setBearerToken:(NSString *)token; +- (void)setHTTPAdditionalHeaders: (NSDictionary *)HTTPAdditionalHeaders; + - (void)setPlan:(AMPPlan *)plan; /**