~ubuntu-branches/ubuntu/oneiric/ocsigen/oneiric

« back to all changes in this revision

Viewing changes to eliom/eliommod_naservices.ml

  • Committer: Bazaar Package Importer
  • Author(s): Stephane Glondu
  • Date: 2009-07-02 10:02:08 UTC
  • mfrom: (1.1.9 upstream) (4.1.3 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090702100208-n158b1sqwzn0asil
Tags: 1.2.0-2
Fix build on non-native architectures

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
(** Non-attached services                                                   *)
23
23
 
24
24
open Lwt
 
25
open Ocsigen_extensions
 
26
 
25
27
 
26
28
let add_naservice_table at (key, elt) =
27
29
  match at with
64
66
        | Eliom_common.Na_post_ n ->
65
67
            raise (Eliom_common.Eliom_duplicate_registration
66
68
                     ("POST non-attached service "^n))
 
69
        | Eliom_common.Na_void_dontkeep
 
70
        | Eliom_common.Na_void_keep ->
 
71
            raise (Eliom_common.Eliom_duplicate_registration
 
72
                     "<void coservice>")
67
73
    with Not_found -> ());
68
74
 
69
75
  (match expdate with
150
156
         We call the same URL without non-attached parameters.
151
157
       *)
152
158
      match si.Eliom_common.si_nonatt_info with
 
159
      | Eliom_common.Na_void_keep (* ? *)
 
160
      | Eliom_common.Na_void_dontkeep (* ? *)
153
161
      | Eliom_common.Na_no -> assert false
154
162
      | Eliom_common.Na_post_ _
155
163
      | Eliom_common.Na_post' _ ->
157
165
          Ocsigen_messages.debug2
158
166
            "--Eliom: Link too old to a non-attached POST coservice. I will try without POST parameters:";
159
167
          Eliom_common.change_request_info
160
 
            {ri with
161
 
             Ocsigen_extensions.ri_get_params =
162
 
             lazy si.Eliom_common.si_other_get_params;
163
 
             Ocsigen_extensions.ri_post_params = lazy (return []);
164
 
             Ocsigen_extensions.ri_method = Ocsigen_http_frame.Http_header.GET;
165
 
             Ocsigen_extensions.ri_extension_info=
166
 
             Eliom_common.Eliom_Link_too_old::
167
 
             ri.Ocsigen_extensions.ri_extension_info
168
 
            }
169
 
            si.Eliom_common.si_config_file_charset
 
168
            {ri with Ocsigen_extensions.request_info =
 
169
                { ri.Ocsigen_extensions.request_info with
 
170
                    Ocsigen_extensions.ri_get_params =
 
171
                      lazy si.Eliom_common.si_other_get_params;
 
172
                    ri_post_params = lazy (return []);
 
173
                    ri_method = Ocsigen_http_frame.Http_header.GET;
 
174
                    ri_extension_info =
 
175
                      Eliom_common.Eliom_Link_too_old ::
 
176
                      ri.Ocsigen_extensions.request_info.Ocsigen_extensions.ri_extension_info
 
177
            }}
170
178
            si.Eliom_common.si_previous_extension_error
171
179
          >>=
172
180
            (fun (ri', si') ->
180
188
          Ocsigen_messages.debug2
181
189
            "--Eliom: Link too old. I will try without non-attached parameters:";
182
190
          Eliom_common.change_request_info
183
 
            {ri with
184
 
             Ocsigen_extensions.ri_get_params =
185
 
             lazy si.Eliom_common.si_other_get_params;
186
 
             Ocsigen_extensions.ri_post_params = lazy (return []);
187
 
             Ocsigen_extensions.ri_method = Ocsigen_http_frame.Http_header.GET;
188
 
             Ocsigen_extensions.ri_extension_info=
189
 
             Eliom_common.Eliom_Link_too_old::
190
 
             ri.Ocsigen_extensions.ri_extension_info
 
191
            {ri with request_info =
 
192
                { ri.request_info with
 
193
                    ri_get_params =
 
194
                      lazy si.Eliom_common.si_other_get_params;
 
195
                    ri_post_params = lazy (return []);
 
196
                    ri_method = Ocsigen_http_frame.Http_header.GET;
 
197
                    ri_extension_info =
 
198
                      Eliom_common.Eliom_Link_too_old::
 
199
                        ri.request_info.ri_extension_info
 
200
                }
191
201
           }
192
 
            si.Eliom_common.si_config_file_charset
193
202
            si.Eliom_common.si_previous_extension_error
194
203
            >>=
195
204
          (fun (ri', si') ->