155 } |
155 } |
156 |
156 |
157 return REQ_PROCEED; |
157 return REQ_PROCEED; |
158 } |
158 } |
159 |
159 |
|
160 |
|
161 int redirect(pblock *pb, Session *sn, Request *rq) { |
|
162 char *from = pblock_findval("from", pb); |
|
163 char *url = pblock_findval("url", pb); |
|
164 |
|
165 if(!from || !url) { |
|
166 log_ereport(LOG_MISCONFIG, "redirect: missing parameter (from, url)"); |
|
167 return REQ_ABORTED; |
|
168 } |
|
169 |
|
170 char *uri = pblock_findkeyval(pb_key_uri, rq->reqpb); |
|
171 if(!strcmp(uri, from)) { |
|
172 pblock_nvinsert("location", url, rq->srvhdrs); |
|
173 |
|
174 protocol_status(sn, rq, 302, NULL); |
|
175 return REQ_ABORTED; |
|
176 } |
|
177 |
|
178 return REQ_NOACTION; |
|
179 } |
160 |
180 |
161 /* |
181 /* |
162 * provisional rewrite saf |
182 * provisional rewrite saf |
163 */ |
183 */ |
164 int simple_rewrite(pblock *pb, Session *sn, Request *rq) { |
184 int simple_rewrite(pblock *pb, Session *sn, Request *rq) { |