Skip to content

Commit 8f7ac4c

Browse files
committed
Fetch: introduced ngx_js_chain_to_buf() helper function.
1 parent aa9dd6f commit 8f7ac4c

File tree

2 files changed

+26
-10
lines changed

2 files changed

+26
-10
lines changed

nginx/ngx_js_http.c

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -521,21 +521,12 @@ ngx_js_http_write_handler(ngx_event_t *wev)
521521
b = http->buffer;
522522

523523
if (b == NULL) {
524-
size = njs_chb_size(&http->chain);
525-
if (size < 0) {
526-
ngx_js_http_error(http, "memory error");
527-
return;
528-
}
529-
530-
b = ngx_create_temp_buf(http->pool, size);
524+
b = ngx_js_chain_to_buf(http->pool, &http->chain);
531525
if (b == NULL) {
532526
ngx_js_http_error(http, "memory error");
533527
return;
534528
}
535529

536-
njs_chb_join_to(&http->chain, b->last);
537-
b->last += size;
538-
539530
http->buffer = b;
540531
}
541532

@@ -1861,6 +1852,29 @@ ngx_js_http_keepalive_close_handler(ngx_event_t *ev)
18611852
}
18621853

18631854

1855+
ngx_buf_t *
1856+
ngx_js_chain_to_buf(ngx_pool_t *pool, njs_chb_t *chain)
1857+
{
1858+
ssize_t size;
1859+
ngx_buf_t *buf;
1860+
1861+
size = njs_chb_size(chain);
1862+
if (size < 0) {
1863+
return NULL;
1864+
}
1865+
1866+
buf = ngx_create_temp_buf(pool, size);
1867+
if (buf == NULL) {
1868+
return NULL;
1869+
}
1870+
1871+
njs_chb_join_to(chain, buf->last);
1872+
buf->last += size;
1873+
1874+
return buf;
1875+
}
1876+
1877+
18641878
static void
18651879
ngx_js_fetch_append_request_headers(njs_chb_t *chain,
18661880
ngx_js_request_t *request)

nginx/ngx_js_http.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ void ngx_js_http_trim(u_char **value, size_t *len,
167167
int trim_c0_control_or_space);
168168
ngx_int_t ngx_js_check_header_name(u_char *name, size_t len);
169169

170+
ngx_buf_t *ngx_js_chain_to_buf(ngx_pool_t *pool, njs_chb_t *chain);
171+
170172
void ngx_js_fetch_build_request(ngx_js_http_t *http, ngx_js_request_t *request,
171173
ngx_str_t *path, ngx_url_t *u);
172174

0 commit comments

Comments
 (0)