mirror of
https://github.com/nginx/nginx.git
synced 2025-02-25 18:55:26 -06:00
ngx_http_split_args()
This commit is contained in:
parent
165b3c001c
commit
2c7cb55ac1
@ -78,6 +78,8 @@ ngx_int_t ngx_http_parse_multi_header_lines(ngx_array_t *headers,
|
||||
ngx_str_t *name, ngx_str_t *value);
|
||||
ngx_int_t ngx_http_arg(ngx_http_request_t *r, u_char *name, size_t len,
|
||||
ngx_str_t *value);
|
||||
void ngx_http_split_args(ngx_http_request_t *r, ngx_str_t *uri,
|
||||
ngx_str_t *args);
|
||||
|
||||
|
||||
ngx_int_t ngx_http_find_server_conf(ngx_http_request_t *r);
|
||||
|
@ -1523,3 +1523,37 @@ ngx_http_arg(ngx_http_request_t *r, u_char *name, size_t len, ngx_str_t *value)
|
||||
|
||||
return NGX_DECLINED;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ngx_http_split_args(ngx_http_request_t *r, ngx_str_t *uri, ngx_str_t *args)
|
||||
{
|
||||
u_char ch, *p, *last;
|
||||
|
||||
p = uri->data;
|
||||
|
||||
last = p + uri->len;
|
||||
|
||||
while (p < last) {
|
||||
|
||||
ch = *p++;
|
||||
|
||||
if (ch == '?') {
|
||||
args->len = last - p;
|
||||
args->data = p;
|
||||
|
||||
uri->len = p - 1 - uri->data;
|
||||
|
||||
if (ngx_strlchr(p, last, '\0') != NULL) {
|
||||
r->zero_in_uri = 1;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (ch == '\0') {
|
||||
r->zero_in_uri = 1;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user