Mercurial > hg > nginx-quic
annotate src/http/modules/perl/ngx_http_perl_module.h @ 7093:acc2cddc7b45
Upstream: unconditional parsing of last_modified_time.
This fixes at least the following cases, where no last_modified_time
(assuming caching is not enabled) resulted in incorrect behaviour:
- slice filter and If-Range requests (ticket #1357);
- If-Range requests with proxy_force_ranges;
- expires modified.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 23 Aug 2017 19:20:06 +0300 |
parents | d620f497c50f |
children | deebe988cbd7 |
rev | line source |
---|---|
599 | 1 |
2 /* | |
3 * Copyright (C) Igor Sysoev | |
4412 | 4 * Copyright (C) Nginx, Inc. |
599 | 5 */ |
6 | |
7 | |
8 #ifndef _NGX_HTTP_PERL_MODULE_H_INCLUDED_ | |
9 #define _NGX_HTTP_PERL_MODULE_H_INCLUDED_ | |
10 | |
11 | |
12 #include <ngx_config.h> | |
13 #include <ngx_core.h> | |
14 #include <ngx_http.h> | |
775 | 15 #include <nginx.h> |
599 | 16 |
17 #include <EXTERN.h> | |
18 #include <perl.h> | |
19 | |
20 | |
21 typedef ngx_http_request_t *nginx; | |
22 | |
23 typedef struct { | |
633 | 24 ngx_str_t filename; |
599 | 25 ngx_str_t redirect_uri; |
26 ngx_str_t redirect_args; | |
911 | 27 |
681 | 28 SV *next; |
29 | |
1897 | 30 ngx_uint_t done; /* unsigned done:1; */ |
599 | 31 |
912
7fa926a7926d
$r->variable() supports perl only variables
Igor Sysoev <igor@sysoev.ru>
parents:
911
diff
changeset
|
32 ngx_array_t *variables; /* array of ngx_http_perl_var_t */ |
7fa926a7926d
$r->variable() supports perl only variables
Igor Sysoev <igor@sysoev.ru>
parents:
911
diff
changeset
|
33 |
617 | 34 #if (NGX_HTTP_SSI) |
599 | 35 ngx_http_ssi_ctx_t *ssi; |
617 | 36 #endif |
599 | 37 } ngx_http_perl_ctx_t; |
38 | |
39 | |
912
7fa926a7926d
$r->variable() supports perl only variables
Igor Sysoev <igor@sysoev.ru>
parents:
911
diff
changeset
|
40 typedef struct { |
7fa926a7926d
$r->variable() supports perl only variables
Igor Sysoev <igor@sysoev.ru>
parents:
911
diff
changeset
|
41 ngx_uint_t hash; |
7fa926a7926d
$r->variable() supports perl only variables
Igor Sysoev <igor@sysoev.ru>
parents:
911
diff
changeset
|
42 ngx_str_t name; |
7fa926a7926d
$r->variable() supports perl only variables
Igor Sysoev <igor@sysoev.ru>
parents:
911
diff
changeset
|
43 ngx_str_t value; |
7fa926a7926d
$r->variable() supports perl only variables
Igor Sysoev <igor@sysoev.ru>
parents:
911
diff
changeset
|
44 } ngx_http_perl_var_t; |
7fa926a7926d
$r->variable() supports perl only variables
Igor Sysoev <igor@sysoev.ru>
parents:
911
diff
changeset
|
45 |
7fa926a7926d
$r->variable() supports perl only variables
Igor Sysoev <igor@sysoev.ru>
parents:
911
diff
changeset
|
46 |
599 | 47 extern ngx_module_t ngx_http_perl_module; |
48 | |
49 | |
50 /* | |
51 * workaround for "unused variable `Perl___notused'" warning | |
52 * when building with perl 5.6.1 | |
53 */ | |
54 #ifndef PERL_IMPLICIT_CONTEXT | |
55 #undef dTHXa | |
56 #define dTHXa(a) | |
57 #endif | |
58 | |
59 | |
868 | 60 extern void boot_DynaLoader(pTHX_ CV* cv); |
599 | 61 |
62 | |
681 | 63 void ngx_http_perl_handle_request(ngx_http_request_t *r); |
1897 | 64 void ngx_http_perl_sleep_handler(ngx_http_request_t *r); |
681 | 65 |
66 | |
599 | 67 #endif /* _NGX_HTTP_PERL_MODULE_H_INCLUDED_ */ |