comparison src/http/ngx_http_log_handler.h @ 28:7ca9bdc82b3f NGINX_0_1_14

nginx 0.1.14 *) Feature: the autoconfiguration directives: --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and --http-fastcgi-temp-path=PATH *) Change: the directory name for the temporary files with the client request body is specified by directive client_body_temp_path, by default it is <prefix>/client_body_temp. *) Feature: the ngx_http_fastcgi_module and the directives: fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, fastcgi_busy_buffers_size, fastcgi_temp_path, fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, fastcgi_next_upstream, and fastcgi_x_powered_by. *) Bugfix: the "[alert] zero size buf" error; bug appeared in 0.1.3. *) Change: the URI must be specified after the host name in the proxy_pass directive. *) Change: the %3F symbol in the URI was considered as the argument string start. *) Feature: the unix domain sockets support in the ngx_http_proxy_module. *) Feature: the ssl_engine and ssl_ciphers directives. Thanks to Sergey Skvortsov for SSL-accelerator.
author Igor Sysoev <http://sysoev.ru>
date Tue, 18 Jan 2005 00:00:00 +0300
parents f0b350454894
children
comparison
equal deleted inserted replaced
27:66901c2556fd 28:7ca9bdc82b3f
11 #include <ngx_config.h> 11 #include <ngx_config.h>
12 #include <ngx_core.h> 12 #include <ngx_core.h>
13 #include <ngx_http.h> 13 #include <ngx_http.h>
14 14
15 15
16 typedef u_char *(*ngx_http_log_op_pt) (ngx_http_request_t *r, u_char *buf, 16 typedef struct ngx_http_log_op_s ngx_http_log_op_t;
17 uintptr_t data);
18 17
19 #define NGX_HTTP_LOG_COPY_SHORT (ngx_http_log_op_pt) 0 18 typedef u_char *(*ngx_http_log_op_run_pt) (ngx_http_request_t *r, u_char *buf,
20 #define NGX_HTTP_LOG_COPY_LONG (ngx_http_log_op_pt) -1 19 ngx_http_log_op_t *op);
21 20
22 #define NGX_HTTP_LOG_ARG (u_int) -1 21 typedef size_t (*ngx_http_log_op_getlen_pt) (ngx_http_request_t *r,
22 uintptr_t data);
23
24 typedef ngx_int_t (*ngx_http_log_op_compile_pt) (ngx_http_log_op_t *op,
25 ngx_str_t *value);
26
27 struct ngx_http_log_op_s {
28 size_t len;
29 ngx_http_log_op_getlen_pt getlen;
30 ngx_http_log_op_run_pt run;
31 uintptr_t data;
32 };
23 33
24 34
25 typedef struct { 35 typedef struct {
26 size_t len; 36 ngx_str_t name;
27 ngx_http_log_op_pt op; 37 ngx_array_t *ops; /* array of ngx_http_log_op_t */
28 uintptr_t data;
29 } ngx_http_log_op_t;
30
31
32 typedef struct {
33 ngx_str_t name;
34 ngx_array_t *ops; /* array of ngx_http_log_op_t */
35 } ngx_http_log_fmt_t; 38 } ngx_http_log_fmt_t;
36 39
37 40
38 typedef struct { 41 typedef struct {
39 ngx_str_t name; 42 ngx_str_t name;
40 size_t len; 43 size_t len;
41 ngx_http_log_op_pt op; 44 ngx_http_log_op_compile_pt compile;
45 ngx_http_log_op_getlen_pt getlen;
46 ngx_http_log_op_run_pt run;
42 } ngx_http_log_op_name_t; 47 } ngx_http_log_op_name_t;
43 48
44 49
45 typedef struct { 50 typedef struct {
46 ngx_array_t formats; /* array of ngx_http_log_fmt_t */ 51 ngx_array_t formats; /* array of ngx_http_log_fmt_t */
47 } ngx_http_log_main_conf_t; 52 } ngx_http_log_main_conf_t;
48 53
49 54
50 typedef struct { 55 typedef struct {
51 ngx_open_file_t *file; 56 ngx_open_file_t *file;
52 ngx_array_t *ops; /* array of ngx_http_log_op_t */ 57 ngx_array_t *ops; /* array of ngx_http_log_op_t */
53 } ngx_http_log_t; 58 } ngx_http_log_t;
54 59
55 60
56 typedef struct { 61 typedef struct {
57 ngx_array_t *logs; /* array of ngx_http_log_t */ 62 ngx_array_t *logs; /* array of ngx_http_log_t */
58 ngx_uint_t off; /* unsigned off:1 */ 63 ngx_uint_t off; /* unsigned off:1 */
59 } ngx_http_log_loc_conf_t; 64 } ngx_http_log_loc_conf_t;
60 65
61 66
62 extern ngx_http_log_op_name_t ngx_http_log_fmt_ops[]; 67 extern ngx_http_log_op_name_t ngx_http_log_fmt_ops[];
63 68