1+ open Lwt.Syntax
2+
13(* Ocsigen
24 * http://www.ocsigen.org
35 * Copyright (C) 2011 Pierre Chambart, Grégoire Henry
@@ -576,19 +578,21 @@ let rewrite_css_url ~prefix css pos =
576578let import_re = Regexp. regexp " @import\\ s*"
577579
578580let rec rewrite_css ~max (media , href , css ) =
579- try % lwt
580- css >> = function
581- | None -> Lwt. return_nil
582- | Some css ->
583- if ! Eliom_config. debug_timings
584- then Firebug. console ## (time (Js. string (" rewrite_CSS: " ^ href)));
585- let % lwt imports, css =
586- rewrite_css_import ~max ~prefix: (basedir href) ~media css 0
587- in
588- if ! Eliom_config. debug_timings
589- then Firebug. console ## (timeEnd (Js. string (" rewrite_CSS: " ^ href)));
590- Lwt. return (imports @ [media, css])
591- with _ -> Lwt. return [media, Printf. sprintf " @import url(%s);" href]
581+ Lwt. catch
582+ (fun () ->
583+ css >> = function
584+ | None -> Lwt. return_nil
585+ | Some css ->
586+ if ! Eliom_config. debug_timings
587+ then Firebug. console ## (time (Js. string (" rewrite_CSS: " ^ href)));
588+ let * imports, css =
589+ rewrite_css_import ~max ~prefix: (basedir href) ~media css 0
590+ in
591+ if ! Eliom_config. debug_timings
592+ then
593+ Firebug. console ## (timeEnd (Js. string (" rewrite_CSS: " ^ href)));
594+ Lwt. return (imports @ [media, css]))
595+ (fun _ -> Lwt. return [media, Printf. sprintf " @import url(%s);" href])
592596
593597and rewrite_css_import ?(charset = " " ) ~max ~prefix ~media css pos =
594598 match Regexp. search import_re css pos with
@@ -603,7 +607,7 @@ and rewrite_css_import ?(charset = "") ~max ~prefix ~media css pos =
603607 let i = i + String. length (Regexp. matched_string res) in
604608 let i, href = parse_url ~prefix css i in
605609 let i, media' = parse_media css i in
606- let % lwt import =
610+ let * import =
607611 if max = 0
608612 then
609613 (* Maximum imbrication of @import reached, rewrite url. *)
@@ -623,7 +627,7 @@ and rewrite_css_import ?(charset = "") ~max ~prefix ~media css pos =
623627 Eliom_request. http_get href [] Eliom_request. string_result
624628 in
625629 rewrite_css ~max: (max - 1 ) (media, href, css > |= snd)
626- and imports, css =
630+ and * imports, css =
627631 rewrite_css_import ~charset ~max ~prefix ~media css i
628632 in
629633 Lwt. return (import @ imports, css)
@@ -636,7 +640,7 @@ and rewrite_css_import ?(charset = "") ~max ~prefix ~media css pos =
636640let max_preload_depth = ref 4
637641
638642let build_style (e , css ) =
639- let % lwt css = rewrite_css ~max: ! max_preload_depth css in
643+ let * css = rewrite_css ~max: ! max_preload_depth css in
640644 (* lwt css = *)
641645 Lwt_list. map_p
642646 (fun (media , css ) ->
@@ -663,7 +667,7 @@ let build_style (e, css) =
663667let preload_css (doc : Dom_html.element Js.t ) =
664668 if ! Eliom_config. debug_timings
665669 then Firebug. console ## (time (Js. string " preload_css (fetch+rewrite)" ));
666- let % lwt css = Lwt_list. map_p build_style (fetch_linked_css (get_head doc)) in
670+ let * css = Lwt_list. map_p build_style (fetch_linked_css (get_head doc)) in
667671 let css = List. concat css in
668672 List. iter
669673 (fun (e , css ) ->
0 commit comments