OSDN Git Service

* Fixed BUG.
[modchxj/mod_chxj.git] / src / chxj_header_inf.c
1 /*
2  * Copyright (C) 2005-2011 Atsushi Konno All rights reserved.
3  * Copyright (C) 2005 QSDN,Inc. All rights reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * 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 #include "mod_chxj.h"
18 #include "chxj_header_inf.h"
19 #include "chxj_apache.h"
20 #include "qs_parse_string.h"
21 #include <errno.h>
22
23 static const char * v_header_inf_table[] = {
24   HTTP_X_CHXJ_SET_CONTENT_TYPE,
25   NULL,
26 };
27
28 /**
29  */
30 char *
31 chxj_header_inf_set_content_type(request_rec *r, char *default_string)
32 {
33   char *h_out     = NULL;
34   char *err_h_out = NULL;
35
36   DBG(r,"REQ[%X] start %s()",TO_ADDR(r),__func__);
37
38   h_out     = (char *)apr_table_get(r->headers_out, HTTP_X_CHXJ_SET_CONTENT_TYPE);
39   err_h_out = (char *)apr_table_get(r->err_headers_out, HTTP_X_CHXJ_SET_CONTENT_TYPE);
40
41   if (err_h_out) {
42     DBG(r,"REQ[%X] end %s()",TO_ADDR(r),__func__);
43     return err_h_out;
44   }
45   if (h_out) {
46     DBG(r,"REQ[%X] end %s()",TO_ADDR(r),__func__);
47     return h_out;
48   }
49
50   DBG(r,"REQ[%X] end %s()",TO_ADDR(r),__func__);
51   return default_string;
52 }
53
54 void
55 chxj_header_inf_clear(request_rec *r)
56 {
57   int ii=0;
58   for (;v_header_inf_table[ii] != NULL; ii++) {
59     apr_table_unset(r->headers_out, v_header_inf_table[ii]);
60     apr_table_unset(r->err_headers_out, v_header_inf_table[ii]);
61   }
62 }
63 /*
64  * vim: ts=2 et
65  */