Dong Ma
Dong Ma

Reputation: 1073

AFHTTPRequestOperationManager custom http header always start with "HTTP_"?

I use AFHTTPRequestOperationManager to send HTTP request, and have some information put in the HTTP custom header, named "X-AKey". I confirmed the header name by:

NSLog(@"%@", manager.requestSerializer.HTTPRequestHeaders);

Then, I captured the outgoing message, and found that the header name has changed to "HTTP_X_AKEY".

I've searched some questions, and found that this might be a standard way of naming custom header: "Meta-variables with names beginning with "HTTP_" contain values read from the client request header fields, if the protocol used is HTTP. The HTTP header field name is converted to upper case, has all occurrences of "-" replaced with "" and has "HTTP" prepended to give the meta-variable name."

Nevertheless, my question is: CAN I send a message with a custom header name exactly as I specified? That is, in my case, "X-AKey" instead of "HTTP_X_AKEY"?

(PS: For real applications, if both the client and server are negotiated to use the 'HTTP_xxx' format, there won't be any problem. I'm just curious about the answer for now.)

Thanks.

Upvotes: 2

Views: 3126

Answers (1)

Nuno Ferro
Nuno Ferro

Reputation: 1279

Try this:

[manager.requestSerializer setValue:@"SomeValue" forHTTPHeaderField:@"SomeHeaderField"]

Upvotes: 4

Related Questions