diff --git a/opam b/opam index 4f1f6c51b5..6d67ffbf89 100644 --- a/opam +++ b/opam @@ -31,7 +31,7 @@ depends: [ "lwt_log" "lwt_ppx" {>= "1.2.3"} "tyxml" {>= "4.4.0" & < "5.0.0"} - "ocsigenserver" {>= "5.0.0" & < "6.0.0"} + "ocsigenserver" {>= "5.1.0" & < "6.0.0"} "ipaddr" {>= "2.1"} "reactiveData" {>= "0.2.1"} "base-bytes" diff --git a/src/lib/eliom_content_core.server.ml b/src/lib/eliom_content_core.server.ml index 3c722a23e7..7cb3a861c1 100644 --- a/src/lib/eliom_content_core.server.ml +++ b/src/lib/eliom_content_core.server.ml @@ -155,7 +155,7 @@ module Xml = struct let empty_name = "" in empty_name, RAClient (crypto, init, Eliom_lib.to_poly x) - let closing_cdata = Pcre.(regexp (quote "]]>")) + let closing_cdata = Re.Pcre.(regexp (quote "]]>")) let cdata s = (* GK *) @@ -164,7 +164,7 @@ module Xml = struct *) let s' = "\n\n" in encodedpcdata s' @@ -176,7 +176,7 @@ module Xml = struct *) let s' = "\n//\n" in encodedpcdata s' @@ -188,7 +188,7 @@ module Xml = struct *) let s' = "\n/* */\n" in encodedpcdata s' diff --git a/src/lib/eliom_parameter.server.ml b/src/lib/eliom_parameter.server.ml index ca923e9630..bcbdbe506d 100644 --- a/src/lib/eliom_parameter.server.ml +++ b/src/lib/eliom_parameter.server.ml @@ -47,15 +47,15 @@ let all_suffix_user ?client_to_and_of ~(of_string : string -> 'a) let regexp reg dest ~to_string n = user_type (fun s -> - match Pcre.exec ~rex:reg ~flags:[`ANCHORED] ~pos:0 s with - | _ -> ( + match Re.Pcre.exec ~rex:reg ~pos:0 s with + | g when Re.Group.start g 0 = 0 -> ( try Ocsigen_extensions.replace_user_dir reg (Ocsigen_extensions.parse_user_dir dest) s with Ocsigen_extensions.NoSuchUser -> raise (Failure "User does not exist")) - | exception Not_found -> raise (Failure "Regexp not matching")) + | _ | exception Not_found -> raise (Failure "Regexp not matching")) to_string n let all_suffix_regexp reg dest ~(to_string : 'a -> string) (n : string) @@ -63,15 +63,15 @@ let all_suffix_regexp reg dest ~(to_string : 'a -> string) (n : string) = all_suffix_user (fun s -> - match Pcre.exec ~rex:reg ~flags:[`ANCHORED] ~pos:0 s with - | _ -> ( + match Re.Pcre.exec ~rex:reg ~pos:0 s with + | g when Re.Group.start g 0 = 0 -> ( try Ocsigen_extensions.replace_user_dir reg (Ocsigen_extensions.parse_user_dir dest) s with Ocsigen_extensions.NoSuchUser -> raise (Failure "User does not exist")) - | exception Not_found -> raise (Failure "Regexp not matching")) + | _ | exception Not_found -> raise (Failure "Regexp not matching")) to_string n (* Non localized parameters *) diff --git a/src/lib/eliom_parameter.server.mli b/src/lib/eliom_parameter.server.mli index 4dbf0b4b9f..d632bae4ac 100644 --- a/src/lib/eliom_parameter.server.mli +++ b/src/lib/eliom_parameter.server.mli @@ -60,7 +60,7 @@ val type_checker instead of the service handler. *) val regexp - : Pcre.regexp + : Re.Pcre.regexp -> string -> to_string:(string -> string) -> string @@ -69,12 +69,12 @@ val regexp the regular expression [r] as parameter, labeled [s], and that will be rewritten in d. The syntax of regexp is PCRE's one (uses then [Pcre] bindings). For example: [regexp - (Pcre.regexp "\\[(.* )\\]") "($1)" "myparam"] will match + (Re.Pcre.regexp "\\[(.* )\\]") "($1)" "myparam"] will match the parameter [myparam=[hello]] and send the string ["(hello)"] to the service handler. *) val all_suffix_regexp - : Pcre.regexp + : Re.Pcre.regexp -> string -> to_string:(string -> string) -> string