Mercurial > hg > nginx
comparison src/http/ngx_http_parse.c @ 844:9ddb57468082
add more WebDAV methods
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 14 Nov 2006 12:43:48 +0000 |
parents | fe681917a24d |
children | 7521e5f5d555 |
comparison
equal
deleted
inserted
replaced
843:ebab9490204c | 844:9ddb57468082 |
---|---|
92 switch (p - m) { | 92 switch (p - m) { |
93 | 93 |
94 case 3: | 94 case 3: |
95 if (m[0] == 'G' && m[1] == 'E' && m[2] == 'T') { | 95 if (m[0] == 'G' && m[1] == 'E' && m[2] == 'T') { |
96 r->method = NGX_HTTP_GET; | 96 r->method = NGX_HTTP_GET; |
97 | 97 break; |
98 } else if (m[0] == 'P' && m[1] == 'U' && m[2] == 'T') { | 98 } |
99 | |
100 if (m[0] == 'P' && m[1] == 'U' && m[2] == 'T') { | |
99 r->method = NGX_HTTP_PUT; | 101 r->method = NGX_HTTP_PUT; |
102 break; | |
100 } | 103 } |
104 | |
101 break; | 105 break; |
102 | 106 |
103 case 4: | 107 case 4: |
104 if (m[0] == 'P' && m[1] == 'O' | 108 if (m[1] == 'O') { |
105 && m[2] == 'S' && m[3] == 'T') | 109 |
106 { | 110 if (m[0] == 'P' && m[2] == 'S' && m[3] == 'T') { |
107 r->method = NGX_HTTP_POST; | 111 r->method = NGX_HTTP_POST; |
108 | 112 break; |
109 } else if (m[0] == 'H' && m[1] == 'E' | 113 } |
110 && m[2] == 'A' && m[3] == 'D') | 114 |
111 { | 115 if (m[0] == 'C' && m[2] == 'P' && m[3] == 'Y') { |
112 r->method = NGX_HTTP_HEAD; | 116 r->method = NGX_HTTP_COPY; |
117 break; | |
118 } | |
119 | |
120 if (m[0] == 'M' && m[2] == 'V' && m[3] == 'E') { | |
121 r->method = NGX_HTTP_MOVE; | |
122 break; | |
123 } | |
124 | |
125 if (m[0] == 'L' && m[2] == 'C' && m[3] == 'K') { | |
126 r->method = NGX_HTTP_LOCK; | |
127 break; | |
128 } | |
129 | |
130 } else { | |
131 | |
132 if (m[0] == 'H' && m[1] == 'E' | |
133 && m[2] == 'A' && m[3] == 'D') | |
134 { | |
135 r->method = NGX_HTTP_HEAD; | |
136 break; | |
137 } | |
113 } | 138 } |
139 | |
114 break; | 140 break; |
115 | 141 |
116 case 5: | 142 case 5: |
117 if (m[0] == 'M' && m[1] == 'K' | 143 if (m[0] == 'M' && m[1] == 'K' |
118 && m[2] == 'C' && m[3] == 'O' && m[4] == 'L') | 144 && m[2] == 'C' && m[3] == 'O' && m[4] == 'L') |
119 { | 145 { |
120 r->method = NGX_HTTP_MKCOL; | 146 r->method = NGX_HTTP_MKCOL; |
121 } | 147 } |
148 | |
122 break; | 149 break; |
123 | 150 |
124 case 6: | 151 case 6: |
125 if (m[0] == 'D' && m[1] == 'E' && m[2] == 'L' | 152 if (m[0] == 'D' && m[1] == 'E' && m[2] == 'L' |
126 && m[3] == 'E' && m[4] == 'T' && m[5] == 'E') | 153 && m[3] == 'E' && m[4] == 'T' && m[5] == 'E') |
127 { | 154 { |
128 r->method = NGX_HTTP_DELETE; | 155 r->method = NGX_HTTP_DELETE; |
156 break; | |
129 } | 157 } |
158 | |
159 if (m[0] == 'U' && m[1] == 'N' && m[2] == 'L' | |
160 && m[3] == 'O' && m[4] == 'C' && m[5] == 'K') | |
161 { | |
162 r->method = NGX_HTTP_UNLOCK; | |
163 break; | |
164 } | |
165 | |
166 break; | |
167 | |
168 case 7: | |
169 if (m[0] == 'O' && m[1] == 'P' | |
170 && m[2] == 'T' && m[3] == 'I' | |
171 && m[4] == 'O' && m[5] == 'N' && m[6] == 'S') | |
172 { | |
173 r->method = NGX_HTTP_OPTIONS; | |
174 } | |
175 | |
176 break; | |
177 | |
178 case 8: | |
179 if (m[0] == 'P' && m[1] == 'R' | |
180 && m[2] == 'O' && m[3] == 'P' && m[4] == 'F' | |
181 && m[5] == 'I' && m[6] == 'N' && m[7] == 'D') | |
182 { | |
183 r->method = NGX_HTTP_PROPFIND; | |
184 } | |
185 | |
186 break; | |
187 | |
188 case 9: | |
189 if (m[0] == 'P' && m[1] == 'R' && m[2] == 'O' | |
190 && m[3] == 'P' && m[4] == 'P' && m[5] == 'A' | |
191 && m[6] == 'T' && m[7] == 'C' && m[8] == 'H') | |
192 { | |
193 r->method = NGX_HTTP_PROPPATCH; | |
194 } | |
195 | |
130 break; | 196 break; |
131 } | 197 } |
132 | 198 |
133 state = sw_spaces_before_uri; | 199 state = sw_spaces_before_uri; |
134 break; | 200 break; |