48 lines
1.1 KiB
C
48 lines
1.1 KiB
C
|
|
/*
|
|
* Copyright (C) Igor Sysoev
|
|
* Copyright (C) NGINX, Inc.
|
|
*/
|
|
|
|
#ifndef _NXT_HTTP_SOURCE_H_INCLUDED_
|
|
#define _NXT_HTTP_SOURCE_H_INCLUDED_
|
|
|
|
|
|
typedef struct {
|
|
nxt_str_t copy;
|
|
uintptr_t data[3];
|
|
} nxt_http_source_request_t;
|
|
|
|
|
|
typedef struct nxt_http_source_s nxt_http_source_t;
|
|
typedef nxt_int_t (*nxt_http_source_request_create_t)(nxt_http_source_t *hs);
|
|
|
|
|
|
struct nxt_http_source_s {
|
|
nxt_source_hook_t query;
|
|
nxt_source_hook_t *next;
|
|
|
|
nxt_upstream_source_t *upstream;
|
|
|
|
nxt_http_source_request_create_t request_create;
|
|
|
|
nxt_upstream_header_in_t header_in;
|
|
|
|
nxt_buf_t *rest;
|
|
|
|
uint32_t chunked; /* 1 bit */
|
|
|
|
union {
|
|
nxt_http_source_request_t request;
|
|
} u;
|
|
};
|
|
|
|
|
|
NXT_EXPORT void nxt_http_source_handler(nxt_task_t *task,
|
|
nxt_upstream_source_t *us, nxt_http_source_request_create_t request_create);
|
|
NXT_EXPORT nxt_int_t nxt_http_source_hash_create(nxt_mp_t *mp,
|
|
nxt_lvlhsh_t *lh);
|
|
|
|
|
|
#endif /* _NXT_HTTP_SOURCE_H_INCLUDED_ */
|