X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=wrappers%2Fpl_URI.ml;h=33424daeb47be6df2863e81f2e7ba1bbefc310a3;hb=95d760554441dac36fb77011c0c875490f873d68;hp=4c680be8e92aa02d3fd7d31b059b7baaa2211644;hpb=9e88eacb7d2a8883900fba0c8abedc26c7510d98;p=perl4caml.git diff --git a/wrappers/pl_URI.ml b/wrappers/pl_URI.ml index 4c680be..33424da 100644 --- a/wrappers/pl_URI.ml +++ b/wrappers/pl_URI.ml @@ -1,7 +1,23 @@ -(* Wrapper around Perl URI class. - * Copyright (C) 2003 Merjis Ltd. - * $Id: pl_URI.ml,v 1.2 2003-10-15 16:51:12 rich Exp $ - *) +(** Wrapper around Perl [URI] class. *) +(* Copyright (C) 2003 Merjis Ltd. + + This library 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; either + version 2 of the License, or (at your option) any later version. + + This library 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. + + You should have received a copy of the GNU General Public License + along with this library; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + + $Id: pl_URI.ml,v 1.6 2008-03-01 13:02:21 rich Exp $ + *) open Perl @@ -29,6 +45,8 @@ 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 = @@ -38,6 +56,22 @@ object (self) 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 = @@ -48,3 +82,8 @@ 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