(** Wrapper around Perl [HTTP::Cookies] class. * * Copyright (C) 2003 Merjis Ltd. * * $Id: pl_HTTP_Cookies.ml,v 1.1 2004-11-22 17:08:36 rich Exp $ *) open Perl let _ = eval "use HTTP::Cookies" class http_cookies sv = object (self) method sv = sv method save ?filename () = let args = match filename with None -> [] | Some filename -> [sv_of_string filename] in call_method_void sv "save" args method load ?filename () = let args = match filename with None -> [] | Some filename -> [sv_of_string filename] in call_method_void sv "load" args method revert () = call_method_void sv "revert" [] method as_string ?skip_discardables () = let args = match skip_discardables with None -> [] | Some b -> [sv_of_bool b] in string_of_sv (call_method sv "as_string" args) end let new_ ?file ?autosave ?ignore_discard ?hide_cookie2 () = let args = ref [] in let may f = function None -> () | Some v -> f v in may (fun v -> args := sv_of_string "file" :: sv_of_string v :: !args) file; may (fun v -> args := sv_of_string "autosave" :: sv_of_bool v :: !args) autosave; may (fun v -> args := sv_of_string "ignore_discard" :: sv_of_bool v :: !args) ignore_discard; may (fun v -> args := sv_of_string "hide_cookie2" :: sv_of_bool v :: !args) hide_cookie2; let sv = call_class_method "HTTP::Cookies" "new" !args in new http_cookies sv