require CURLOPT_PRIVATE and CURLINFO_PRIVATE
[ocurl.git] / examples / oput.ml
blob25b043b48aac17ea9a1533a90cb596a09d7e798d
1 (*
2 * oput.ml
4 * Copyright (c) 2003-2008, Lars Nilsson, <lars@quantumchamaeleon.com>
5 *)
7 let counter = ref 0
9 let reader file maxBytes =
10 let buffer = String.make maxBytes ' ' in
11 let readBytes = input file buffer 0 maxBytes in
12 if readBytes = 0 then ""
13 else
14 begin
15 counter := !counter + readBytes;
16 String.sub buffer 0 readBytes
17 end
19 let _ =
20 if Array.length Sys.argv = 3 then
21 begin
22 Curl.global_init Curl.CURLINIT_GLOBALNOTHING;
23 begin
24 let conn = Curl.init ()
25 and file = Sys.argv.(1)
26 and location = Sys.argv.(2) in
27 let fileContent = open_in file in
28 Curl.set_upload conn true;
29 Curl.set_url conn location;
30 Curl.set_readfunction conn (reader fileContent);
31 Curl.perform conn;
32 Curl.cleanup conn;
33 Printf.printf "Uploaded %d bytes\n" !counter
34 end;
35 Curl.global_cleanup ()
36 end
37 else
38 Printf.printf "Usage: oput <ftp location> <file>\n"