@@ -3,7 +3,7 @@ use std::ptr::addr_of;
3
3
use http:: HeaderMap ;
4
4
use ngx:: core;
5
5
use ngx:: core:: prelude:: * ;
6
- use ngx:: ffi:: { ngx_array_push, NGX_RS_MODULE_SIGNATURE } ;
6
+ use ngx:: ffi:: ngx_array_push;
7
7
use ngx:: http:: prelude:: * ;
8
8
use ngx:: http:: * ;
9
9
use ngx:: { http_request_handler, ngx_log_debug_http, ngx_null_command, ngx_string} ;
@@ -37,50 +37,6 @@ struct ModuleConfig {
37
37
s3_endpoint : String ,
38
38
}
39
39
40
- static mut NGX_HTTP_AWSSIGV4_COMMANDS : [ ngx_command_t ; 6 ] = [
41
- ngx_command_t {
42
- name : ngx_string ! ( "awssigv4" ) ,
43
- type_ : ( NGX_HTTP_LOC_CONF | NGX_HTTP_SRV_CONF | NGX_CONF_TAKE1 ) as ngx_uint_t ,
44
- set : Some ( ngx_http_awssigv4_commands_set_enable) ,
45
- conf : NGX_HTTP_LOC_CONF_OFFSET ,
46
- offset : 0 ,
47
- post : std:: ptr:: null_mut ( ) ,
48
- } ,
49
- ngx_command_t {
50
- name : ngx_string ! ( "awssigv4_access_key" ) ,
51
- type_ : ( NGX_HTTP_LOC_CONF | NGX_HTTP_SRV_CONF | NGX_CONF_TAKE1 ) as ngx_uint_t ,
52
- set : Some ( ngx_http_awssigv4_commands_set_access_key) ,
53
- conf : NGX_HTTP_LOC_CONF_OFFSET ,
54
- offset : 0 ,
55
- post : std:: ptr:: null_mut ( ) ,
56
- } ,
57
- ngx_command_t {
58
- name : ngx_string ! ( "awssigv4_secret_key" ) ,
59
- type_ : ( NGX_HTTP_LOC_CONF | NGX_HTTP_SRV_CONF | NGX_CONF_TAKE1 ) as ngx_uint_t ,
60
- set : Some ( ngx_http_awssigv4_commands_set_secret_key) ,
61
- conf : NGX_HTTP_LOC_CONF_OFFSET ,
62
- offset : 0 ,
63
- post : std:: ptr:: null_mut ( ) ,
64
- } ,
65
- ngx_command_t {
66
- name : ngx_string ! ( "awssigv4_s3_bucket" ) ,
67
- type_ : ( NGX_HTTP_LOC_CONF | NGX_HTTP_SRV_CONF | NGX_CONF_TAKE1 ) as ngx_uint_t ,
68
- set : Some ( ngx_http_awssigv4_commands_set_s3_bucket) ,
69
- conf : NGX_HTTP_LOC_CONF_OFFSET ,
70
- offset : 0 ,
71
- post : std:: ptr:: null_mut ( ) ,
72
- } ,
73
- ngx_command_t {
74
- name : ngx_string ! ( "awssigv4_s3_endpoint" ) ,
75
- type_ : ( NGX_HTTP_LOC_CONF | NGX_HTTP_SRV_CONF | NGX_CONF_TAKE1 ) as ngx_uint_t ,
76
- set : Some ( ngx_http_awssigv4_commands_set_s3_endpoint) ,
77
- conf : NGX_HTTP_LOC_CONF_OFFSET ,
78
- offset : 0 ,
79
- post : std:: ptr:: null_mut ( ) ,
80
- } ,
81
- ngx_null_command ! ( ) ,
82
- ] ;
83
-
84
40
static NGX_HTTP_AWSSIGV4_MODULE_CTX : ngx_http_module_t = ngx_http_module_t {
85
41
preconfiguration : Some ( Module :: preconfiguration) ,
86
42
postconfiguration : Some ( Module :: postconfiguration) ,
@@ -101,34 +57,54 @@ ngx::ngx_modules!(ngx_http_awssigv4_module);
101
57
#[ allow( non_upper_case_globals) ]
102
58
#[ cfg_attr( not( feature = "export-modules" ) , no_mangle) ]
103
59
pub static mut ngx_http_awssigv4_module: ngx_module_t = ngx_module_t {
104
- ctx_index : ngx_uint_t:: MAX ,
105
- index : ngx_uint_t:: MAX ,
106
- name : std:: ptr:: null_mut ( ) ,
107
- spare0 : 0 ,
108
- spare1 : 0 ,
109
- version : nginx_version as ngx_uint_t ,
110
- signature : NGX_RS_MODULE_SIGNATURE . as_ptr ( ) as * const c_char ,
111
-
112
- ctx : & NGX_HTTP_AWSSIGV4_MODULE_CTX as * const _ as * mut _ ,
113
- commands : unsafe { & NGX_HTTP_AWSSIGV4_COMMANDS [ 0 ] as * const _ as * mut _ } ,
114
- type_ : NGX_HTTP_MODULE as ngx_uint_t ,
115
-
116
- init_master : None ,
117
- init_module : None ,
118
- init_process : None ,
119
- init_thread : None ,
120
- exit_thread : None ,
121
- exit_process : None ,
122
- exit_master : None ,
123
-
124
- spare_hook0 : 0 ,
125
- spare_hook1 : 0 ,
126
- spare_hook2 : 0 ,
127
- spare_hook3 : 0 ,
128
- spare_hook4 : 0 ,
129
- spare_hook5 : 0 ,
130
- spare_hook6 : 0 ,
131
- spare_hook7 : 0 ,
60
+ ctx : std:: ptr:: addr_of!( NGX_HTTP_AWSSIGV4_MODULE_CTX ) as _ ,
61
+ commands : [
62
+ ngx_command_t {
63
+ name : ngx_string ! ( "awssigv4" ) ,
64
+ type_ : ( NGX_HTTP_LOC_CONF | NGX_HTTP_SRV_CONF | NGX_CONF_TAKE1 ) as _ ,
65
+ set : Some ( ngx_http_awssigv4_commands_set_enable) ,
66
+ conf : NGX_HTTP_LOC_CONF_OFFSET ,
67
+ offset : 0 ,
68
+ post : std:: ptr:: null_mut ( ) ,
69
+ } ,
70
+ ngx_command_t {
71
+ name : ngx_string ! ( "awssigv4_access_key" ) ,
72
+ type_ : ( NGX_HTTP_LOC_CONF | NGX_HTTP_SRV_CONF | NGX_CONF_TAKE1 ) as _ ,
73
+ set : Some ( ngx_http_awssigv4_commands_set_access_key) ,
74
+ conf : NGX_HTTP_LOC_CONF_OFFSET ,
75
+ offset : 0 ,
76
+ post : std:: ptr:: null_mut ( ) ,
77
+ } ,
78
+ ngx_command_t {
79
+ name : ngx_string ! ( "awssigv4_secret_key" ) ,
80
+ type_ : ( NGX_HTTP_LOC_CONF | NGX_HTTP_SRV_CONF | NGX_CONF_TAKE1 ) as _ ,
81
+ set : Some ( ngx_http_awssigv4_commands_set_secret_key) ,
82
+ conf : NGX_HTTP_LOC_CONF_OFFSET ,
83
+ offset : 0 ,
84
+ post : std:: ptr:: null_mut ( ) ,
85
+ } ,
86
+ ngx_command_t {
87
+ name : ngx_string ! ( "awssigv4_s3_bucket" ) ,
88
+ type_ : ( NGX_HTTP_LOC_CONF | NGX_HTTP_SRV_CONF | NGX_CONF_TAKE1 ) as _ ,
89
+ set : Some ( ngx_http_awssigv4_commands_set_s3_bucket) ,
90
+ conf : NGX_HTTP_LOC_CONF_OFFSET ,
91
+ offset : 0 ,
92
+ post : std:: ptr:: null_mut ( ) ,
93
+ } ,
94
+ ngx_command_t {
95
+ name : ngx_string ! ( "awssigv4_s3_endpoint" ) ,
96
+ type_ : ( NGX_HTTP_LOC_CONF | NGX_HTTP_SRV_CONF | NGX_CONF_TAKE1 ) as _ ,
97
+ set : Some ( ngx_http_awssigv4_commands_set_s3_endpoint) ,
98
+ conf : NGX_HTTP_LOC_CONF_OFFSET ,
99
+ offset : 0 ,
100
+ post : std:: ptr:: null_mut ( ) ,
101
+ } ,
102
+ ngx_null_command ! ( ) ,
103
+ ]
104
+ . as_ptr ( )
105
+ . cast_mut ( ) ,
106
+ type_ : NGX_HTTP_MODULE as _ ,
107
+ ..NGX_RS_MODULE_V1
132
108
} ;
133
109
134
110
impl Merge for ModuleConfig {
0 commit comments