nxt_http_route.c (1510:945e0b006858) nxt_http_route.c (1522:347a709fd01a)
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#include <nxt_router.h>
8#include <nxt_http.h>

--- 157 unchanged lines hidden (view full) ---

166
167
168struct nxt_http_routes_s {
169 uint32_t items;
170 nxt_http_route_t *route[0];
171};
172
173
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#include <nxt_router.h>
8#include <nxt_http.h>

--- 157 unchanged lines hidden (view full) ---

166
167
168struct nxt_http_routes_s {
169 uint32_t items;
170 nxt_http_route_t *route[0];
171};
172
173
174#define NJS_COOKIE_HASH \
174#define NXT_COOKIE_HASH \
175 (nxt_http_field_hash_end( \
176 nxt_http_field_hash_char( \
177 nxt_http_field_hash_char( \
178 nxt_http_field_hash_char( \
179 nxt_http_field_hash_char( \
180 nxt_http_field_hash_char( \
181 nxt_http_field_hash_char(NXT_HTTP_FIELD_HASH_INIT, \
182 'c'), 'o'), 'o'), 'k'), 'i'), 'e')) & 0xFFFF)

--- 916 unchanged lines hidden (view full) ---

1099
1100 if (test.start[0] == '*') {
1101 /* 'type' is no longer 'EXACT', assume 'END'. */
1102 type = NXT_HTTP_ROUTE_PATTERN_END;
1103 test.start++;
1104 test.length--;
1105 }
1106
175 (nxt_http_field_hash_end( \
176 nxt_http_field_hash_char( \
177 nxt_http_field_hash_char( \
178 nxt_http_field_hash_char( \
179 nxt_http_field_hash_char( \
180 nxt_http_field_hash_char( \
181 nxt_http_field_hash_char(NXT_HTTP_FIELD_HASH_INIT, \
182 'c'), 'o'), 'o'), 'k'), 'i'), 'e')) & 0xFFFF)

--- 916 unchanged lines hidden (view full) ---

1099
1100 if (test.start[0] == '*') {
1101 /* 'type' is no longer 'EXACT', assume 'END'. */
1102 type = NXT_HTTP_ROUTE_PATTERN_END;
1103 test.start++;
1104 test.length--;
1105 }
1106
1107 if (type == NXT_HTTP_ROUTE_PATTERN_EXACT && test.length != 0) {
1107 if (type == NXT_HTTP_ROUTE_PATTERN_EXACT) {
1108 tmp.start = test.start;
1109
1110 p = nxt_memchr(test.start, '*', test.length);
1111
1112 if (p == NULL) {
1113 /* No '*' found - EXACT pattern. */
1114 tmp.length = test.length;
1115 type = NXT_HTTP_ROUTE_PATTERN_EXACT;

--- 1043 unchanged lines hidden (view full) ---

2159
2160 cookies = nxt_array_create(r->mem_pool, 2, sizeof(nxt_http_name_value_t));
2161 if (nxt_slow_path(cookies == NULL)) {
2162 return NULL;
2163 }
2164
2165 nxt_list_each(f, r->fields) {
2166
1108 tmp.start = test.start;
1109
1110 p = nxt_memchr(test.start, '*', test.length);
1111
1112 if (p == NULL) {
1113 /* No '*' found - EXACT pattern. */
1114 tmp.length = test.length;
1115 type = NXT_HTTP_ROUTE_PATTERN_EXACT;

--- 1043 unchanged lines hidden (view full) ---

2159
2160 cookies = nxt_array_create(r->mem_pool, 2, sizeof(nxt_http_name_value_t));
2161 if (nxt_slow_path(cookies == NULL)) {
2162 return NULL;
2163 }
2164
2165 nxt_list_each(f, r->fields) {
2166
2167 if (f->hash != NJS_COOKIE_HASH
2167 if (f->hash != NXT_COOKIE_HASH
2168 || f->name_length != 6
2169 || nxt_strncasecmp(f->name, (u_char *) "Cookie", 6) != 0)
2170 {
2171 continue;
2172 }
2173
2174 ret = nxt_http_route_cookie_parse(cookies, f->value,
2175 f->value + f->value_length);

--- 240 unchanged lines hidden ---
2168 || f->name_length != 6
2169 || nxt_strncasecmp(f->name, (u_char *) "Cookie", 6) != 0)
2170 {
2171 continue;
2172 }
2173
2174 ret = nxt_http_route_cookie_parse(cookies, f->value,
2175 f->value + f->value_length);

--- 240 unchanged lines hidden ---