blob: c6d3bd536c0649cdc16917e65a3e65acd09370bc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
/*
* Copyright (C) NGINX, Inc.
*/
#ifndef _NXT_H1PROTO_H_INCLUDED_
#define _NXT_H1PROTO_H_INCLUDED_
#include <nxt_main.h>
#include <nxt_http_parse.h>
#include <nxt_http.h>
#include <nxt_router.h>
typedef struct nxt_h1p_websocket_timer_s nxt_h1p_websocket_timer_t;
struct nxt_h1proto_s {
nxt_http_request_parse_t parser;
uint8_t nbuffers;
uint8_t keepalive; /* 1 bit */
uint8_t chunked; /* 1 bit */
uint8_t websocket; /* 1 bit */
uint8_t connection_upgrade; /* 1 bit */
uint8_t upgrade_websocket; /* 1 bit */
uint8_t websocket_version_ok; /* 1 bit */
nxt_http_te_t transfer_encoding:8; /* 2 bits */
uint8_t websocket_cont_expected; /* 1 bit */
uint8_t websocket_closed; /* 1 bit */
uint32_t header_size;
nxt_http_field_t *websocket_key;
nxt_h1p_websocket_timer_t *websocket_timer;
nxt_http_request_t *request;
nxt_buf_t *buffers;
/*
* All fields before the conn field will
* be zeroed in a keep-alive connection.
*/
nxt_conn_t *conn;
};
#endif /* _NXT_H1PROTO_H_INCLUDED_ */
|