-(* Wrapper around Perl URI class.
- * Copyright (C) 2003 Merjis Ltd.
- * $Id: pl_URI.ml,v 1.1 2003-10-12 17:33:15 rich Exp $
- *)
+(** Wrapper around Perl [URI] class.
+ *
+ * Copyright (C) 2003 Merjis Ltd.
+ *
+ * $Id: pl_URI.ml,v 1.5 2005-02-13 17:09:14 rich Exp $
+ *)
open Perl
+let _ = eval "use URI"
+
class uri sv =
object (self)
string_of_sv (call_method sv "fragment" [])
method set_fragment fragment =
call_method_void sv "fragment" [sv_of_string fragment]
+ method set_no_fragment () =
+ call_method_void sv "fragment" [sv_undef ()]
method as_string =
string_of_sv (call_method sv "as_string" [])
method canonical =
method rel base =
string_of_sv (call_method sv "rel" [sv_of_string base])
+
+ method host =
+ string_of_sv (call_method sv "host" [])
+ method set_host host =
+ call_method_void sv "host" [sv_of_string host]
+ method port =
+ string_of_sv (call_method sv "port" [])
+ method set_port port =
+ call_method_void sv "port" [sv_of_string port]
+ method host_port =
+ string_of_sv (call_method sv "host_port" [])
+ method set_host_port host_port =
+ call_method_void sv "host_port" [sv_of_string host_port]
+ method default_port =
+ int_of_sv (call_method sv "default_port" [])
+
end
let new_ ?scheme str =
| Some scheme -> [sv_of_string scheme] in
let sv = call_class_method "URI" "new" args in
new uri sv
+
+let new_abs str base =
+ let sv = call_class_method "URI" "new_abs" [sv_of_string str;
+ sv_of_string base] in
+ new uri sv