avoid changing the data header while parsing it

strtok adds \0's to the input string, this can cause problems if the request is later proxied to some remote server. the new implementation uses ngx_str_t's that have a length field and therefore no change to the original string is needed