mirror of https://github.com/axmolengine/axmol.git
Merge pull request #10483 from redism/ios-network-header-fix
apply custom request header for every request type (ios)
This commit is contained in:
commit
e69e648d7c
|
@ -167,6 +167,23 @@ static int processTask(HttpRequest *request, NSString* requestType, void *stream
|
||||||
//set request type
|
//set request type
|
||||||
[nsrequest setHTTPMethod:requestType];
|
[nsrequest setHTTPMethod:requestType];
|
||||||
|
|
||||||
|
/* get custom header data (if set) */
|
||||||
|
std::vector<std::string> headers=request->getHeaders();
|
||||||
|
if(!headers.empty())
|
||||||
|
{
|
||||||
|
/* append custom headers one by one */
|
||||||
|
for (std::vector<std::string>::iterator it = headers.begin(); it != headers.end(); ++it)
|
||||||
|
{
|
||||||
|
unsigned long i = it->find(':', 0);
|
||||||
|
unsigned long length = it->size();
|
||||||
|
std::string field = it->substr(0, i);
|
||||||
|
std::string value = it->substr(i+1, length-i);
|
||||||
|
NSString *headerField = [NSString stringWithUTF8String:field.c_str()];
|
||||||
|
NSString *headerValue = [NSString stringWithUTF8String:value.c_str()];
|
||||||
|
[nsrequest setValue:headerValue forHTTPHeaderField:headerField];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//if request type is post or put,set header and data
|
//if request type is post or put,set header and data
|
||||||
if([requestType isEqual: @"POST"] || [requestType isEqual: @"PUT"])
|
if([requestType isEqual: @"POST"] || [requestType isEqual: @"PUT"])
|
||||||
{
|
{
|
||||||
|
@ -174,22 +191,6 @@ static int processTask(HttpRequest *request, NSString* requestType, void *stream
|
||||||
{
|
{
|
||||||
[nsrequest setValue: @"application/x-www-form-urlencoded" forHTTPHeaderField: @"Content-Type"];
|
[nsrequest setValue: @"application/x-www-form-urlencoded" forHTTPHeaderField: @"Content-Type"];
|
||||||
}
|
}
|
||||||
/* get custom header data (if set) */
|
|
||||||
std::vector<std::string> headers=request->getHeaders();
|
|
||||||
if(!headers.empty())
|
|
||||||
{
|
|
||||||
/* append custom headers one by one */
|
|
||||||
for (std::vector<std::string>::iterator it = headers.begin(); it != headers.end(); ++it)
|
|
||||||
{
|
|
||||||
unsigned long i = it->find(':', 0);
|
|
||||||
unsigned long length = it->size();
|
|
||||||
std::string field = it->substr(0, i);
|
|
||||||
std::string value = it->substr(i+1, length-i);
|
|
||||||
NSString *headerField = [NSString stringWithUTF8String:field.c_str()];
|
|
||||||
NSString *headerValue = [NSString stringWithUTF8String:value.c_str()];
|
|
||||||
[nsrequest setValue:headerValue forHTTPHeaderField:headerField];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
char* requestDataBuffer = request->getRequestData();
|
char* requestDataBuffer = request->getRequestData();
|
||||||
if (nullptr != requestDataBuffer && 0 != request->getRequestDataSize())
|
if (nullptr != requestDataBuffer && 0 != request->getRequestDataSize())
|
||||||
|
|
Loading…
Reference in New Issue