Added .gitignore file for git.
[perl4caml.git] / wrappers / pl_HTTP_Request.ml
1 (** Wrapper around Perl [HTTP::Request] class. *)
2 (*  Copyright (C) 2003 Merjis Ltd.
3
4     This library is free software; you can redistribute it and/or
5     modify it under the terms of the GNU Library General Public
6     License as published by the Free Software Foundation; either
7     version 2 of the License, or (at your option) any later version.
8
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12     Library General Public License for more details.
13
14     You should have received a copy of the GNU General Public License
15     along with this library; see the file COPYING.  If not, write to
16     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17     Boston, MA 02111-1307, USA.
18
19     $Id: pl_HTTP_Request.ml,v 1.5 2008-03-01 13:02:21 rich Exp $
20   *)
21
22 open Perl
23
24 open Pl_HTTP_Message
25 open Pl_URI
26
27 let _ = eval "use HTTP::Request"
28
29 class http_request sv =
30
31 object (self)
32   inherit http_message sv
33
34   method sv = sv
35
36   method method_ =
37     string_of_sv (call_method sv "method" [])
38   method set_method meth =
39     call_method_void sv "method" [sv_of_string meth]
40   method uri =
41     string_of_sv (call_method sv "uri" [])
42   method set_uri uri =
43     call_method_void sv "uri" [sv_of_string uri]
44   method as_string =
45     string_of_sv (call_method sv "as_string" [])
46
47 end
48
49 let new_ meth ?uri_obj ?uri (* ?header ?content *) () =
50   let sv =
51     match uri_obj, uri with
52         None, None ->
53           failwith ("Pl_HTTP_Request.new_ must be called with either a "^
54                     "~uri_obj (URI object) or ~uri (string) parameter.")
55       | Some (uri_obj : uri), None ->
56           call_class_method "HTTP::Request" "new" [sv_of_string meth;
57                                                    uri_obj#sv]
58       | _, Some uri ->
59           call_class_method "HTTP::Request" "new" [sv_of_string meth;
60                                                    sv_of_string uri]
61   in
62   new http_request sv