]> granicus.if.org Git - apache/blob - server/apreq_module.c
Fix a corner case where automatic APLOGNO number generation generates invalid code...
[apache] / server / apreq_module.c
1 /*
2 **  Licensed to the Apache Software Foundation (ASF) under one or more
3 ** contributor license agreements.  See the NOTICE file distributed with
4 ** this work for additional information regarding copyright ownership.
5 ** The ASF licenses this file to You under the Apache License, Version 2.0
6 ** (the "License"); you may not use this file except in compliance with
7 ** the License.  You may obtain a copy of the License at
8 **
9 **      http://www.apache.org/licenses/LICENSE-2.0
10 **
11 **  Unless required by applicable law or agreed to in writing, software
12 **  distributed under the License is distributed on an "AS IS" BASIS,
13 **  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 **  See the License for the specific language governing permissions and
15 **  limitations under the License.
16 */
17
18 #include "apreq_module.h"
19 #include "apreq_error.h"
20 #include "apr_strings.h"
21 #include "apr_lib.h"
22 #include "apr_file_io.h"
23
24 APREQ_DECLARE(apreq_param_t *)apreq_param(apreq_handle_t *req, const char *key)
25 {
26     apreq_param_t *param = apreq_args_get(req, key);
27     if (param == NULL)
28         return apreq_body_get(req, key);
29     else
30         return param;
31 }
32
33 APREQ_DECLARE(apr_table_t *)apreq_params(apreq_handle_t *req, apr_pool_t *p)
34 {
35     const apr_table_t *args, *body;
36     apreq_args(req, &args);
37     apreq_body(req, &body);
38
39     if (args != NULL)
40         if (body != NULL)
41             return apr_table_overlay(p, args, body);
42         else
43             return apr_table_copy(p, args);
44     else
45         if (body != NULL)
46             return apr_table_copy(p, body);
47         else
48             return NULL;
49
50 }
51
52 APREQ_DECLARE(apr_table_t *)apreq_cookies(apreq_handle_t *req, apr_pool_t *p)
53 {
54     const apr_table_t *jar;
55     apreq_jar(req, &jar);
56
57     if (jar != NULL)
58         return apr_table_copy(p, jar);
59     else
60         return NULL;
61
62 }
63
64
65 /** @} */