@@ -3,7 +3,7 @@ use std::ptr::addr_of;
33use http:: HeaderMap ;
44use ngx:: core;
55use ngx:: core:: prelude:: * ;
6- use ngx:: ffi:: { ngx_array_push, NGX_RS_MODULE_SIGNATURE } ;
6+ use ngx:: ffi:: ngx_array_push;
77use ngx:: http:: prelude:: * ;
88use ngx:: http:: * ;
99use ngx:: { http_request_handler, ngx_log_debug_http, ngx_null_command, ngx_string} ;
@@ -37,50 +37,6 @@ struct ModuleConfig {
3737 s3_endpoint : String ,
3838}
3939
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-
8440static NGX_HTTP_AWSSIGV4_MODULE_CTX : ngx_http_module_t = ngx_http_module_t {
8541 preconfiguration : Some ( Module :: preconfiguration) ,
8642 postconfiguration : Some ( Module :: postconfiguration) ,
@@ -101,34 +57,54 @@ ngx::ngx_modules!(ngx_http_awssigv4_module);
10157#[ allow( non_upper_case_globals) ]
10258#[ cfg_attr( not( feature = "export-modules" ) , no_mangle) ]
10359pub 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
132108} ;
133109
134110impl Merge for ModuleConfig {
0 commit comments