]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/ocaml-http/http_parser_sanity.ml
ocaml 3.09 transition
[helm.git] / helm / DEVEL / ocaml-http / http_parser_sanity.ml
index 19204e870ba75ac52ecda5616a990ebe72df11da..7fe08cf9344fd7f3d8fa598782c8eaa7fe64fa40 100644 (file)
@@ -1,9 +1,28 @@
 
-open Neturl;;
-open Printf;;
+(*
+  OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
+
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
+
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU Library General Public License for more details.
 
-open Http_types;;
-open Http_constants;;
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
+*)
+
+open Printf
+
+open Http_types
+open Http_constants
 
 (*
 type url_syntax_option =
@@ -14,19 +33,22 @@ type url_syntax_option =
 * (1) scheme://user:password@host:port/path;params?query#fragment
 *)
 
-let request_uri_syntax = {
-  url_enable_scheme    = Url_part_not_recognized;
-  url_enable_user      = Url_part_not_recognized;
-  url_enable_password  = Url_part_not_recognized;
-  url_enable_host      = Url_part_not_recognized;
-  url_enable_port      = Url_part_not_recognized;
-  url_enable_path      = Url_part_required;
-  url_enable_param     = Url_part_not_recognized;
-  url_enable_query     = Url_part_allowed;
-  url_enable_fragment  = Url_part_not_recognized;
-  url_enable_other     = Url_part_not_recognized;
-  url_accepts_8bits    = false;
-  url_is_valid         = (fun _ -> true);
+let request_uri_syntax =
+{
+  Neturl.url_enable_scheme  = Neturl.Url_part_not_recognized;
+  url_enable_user           = Neturl.Url_part_not_recognized;
+  url_enable_user_param     = Neturl.Url_part_not_recognized;
+  url_enable_password       = Neturl.Url_part_not_recognized;
+  url_enable_host           = Neturl.Url_part_not_recognized;
+  url_enable_port           = Neturl.Url_part_not_recognized;
+  url_enable_path           = Neturl.Url_part_required;
+  url_enable_param          = Neturl.Url_part_not_recognized;
+  url_enable_query          = Neturl.Url_part_allowed;
+  url_enable_fragment       = Neturl.Url_part_not_recognized;
+  url_enable_other          = Neturl.Url_part_not_recognized;
+  url_accepts_8bits         = false;
+  url_enable_relative       = true;
+  url_is_valid              = (fun _ -> true);
 }
 
   (* convention:
@@ -84,6 +106,10 @@ let heal_header (name, value) =
   heal_header_name name;
   heal_header_value name
  
-let url_of_string = url_of_string request_uri_syntax
+let url_of_string s =
+  try
+    Neturl.url_of_string request_uri_syntax s
+  with Neturl.Malformed_URL -> raise (Malformed_URL s)
+
 let string_of_url = Neturl.string_of_url