xref: /unit/src/nxt_http_source.h (revision 65)
10Sigor@sysoev.ru 
20Sigor@sysoev.ru /*
30Sigor@sysoev.ru  * Copyright (C) Igor Sysoev
40Sigor@sysoev.ru  * Copyright (C) NGINX, Inc.
50Sigor@sysoev.ru  */
60Sigor@sysoev.ru 
70Sigor@sysoev.ru #ifndef _NXT_HTTP_SOURCE_H_INCLUDED_
80Sigor@sysoev.ru #define _NXT_HTTP_SOURCE_H_INCLUDED_
90Sigor@sysoev.ru 
100Sigor@sysoev.ru 
110Sigor@sysoev.ru typedef struct {
120Sigor@sysoev.ru     nxt_str_t                          copy;
130Sigor@sysoev.ru     uintptr_t                          data[3];
140Sigor@sysoev.ru } nxt_http_source_request_t;
150Sigor@sysoev.ru 
160Sigor@sysoev.ru 
170Sigor@sysoev.ru typedef struct nxt_http_source_s  nxt_http_source_t;
180Sigor@sysoev.ru typedef nxt_int_t (*nxt_http_source_request_create_t)(nxt_http_source_t *hs);
190Sigor@sysoev.ru 
200Sigor@sysoev.ru 
210Sigor@sysoev.ru struct nxt_http_source_s {
220Sigor@sysoev.ru     nxt_source_hook_t                  query;
230Sigor@sysoev.ru     nxt_source_hook_t                  *next;
240Sigor@sysoev.ru 
250Sigor@sysoev.ru     nxt_upstream_source_t              *upstream;
260Sigor@sysoev.ru 
270Sigor@sysoev.ru     nxt_http_source_request_create_t   request_create;
280Sigor@sysoev.ru 
290Sigor@sysoev.ru     nxt_upstream_header_in_t           header_in;
300Sigor@sysoev.ru 
310Sigor@sysoev.ru     nxt_buf_t                          *rest;
320Sigor@sysoev.ru 
330Sigor@sysoev.ru     uint32_t                           chunked;  /* 1 bit */
340Sigor@sysoev.ru 
350Sigor@sysoev.ru     union {
360Sigor@sysoev.ru         nxt_http_source_request_t      request;
370Sigor@sysoev.ru     } u;
380Sigor@sysoev.ru };
390Sigor@sysoev.ru 
400Sigor@sysoev.ru 
411Sigor@sysoev.ru NXT_EXPORT void nxt_http_source_handler(nxt_task_t *task,
421Sigor@sysoev.ru     nxt_upstream_source_t *us, nxt_http_source_request_create_t request_create);
43*65Sigor@sysoev.ru NXT_EXPORT nxt_int_t nxt_http_source_hash_create(nxt_mp_t *mp,
440Sigor@sysoev.ru     nxt_lvlhsh_t *lh);
450Sigor@sysoev.ru 
460Sigor@sysoev.ru 
470Sigor@sysoev.ru #endif /* _NXT_HTTP_SOURCE_H_INCLUDED_ */
48