add HTTP_VERSION_2_PRIOR_KNOWLEDGE
[ocurl.git] / examples / oput.ml
blobc1da56199ec54e06dfed78d93c7fe8efccf94370
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 = Bytes.create maxBytes in
11 let readBytes = input file buffer 0 maxBytes in
12 if readBytes = 0 then
14 else
15 begin
16 counter := !counter + readBytes;
17 Bytes.sub_string buffer 0 readBytes
18 end
20 let _ =
21 if Array.length Sys.argv = 3 then
22 begin
23 Curl.global_init Curl.CURLINIT_GLOBALNOTHING;
24 begin
25 let conn = Curl.init ()
26 and file = Sys.argv.(1)
27 and location = Sys.argv.(2) in
28 let fileContent = open_in file in
29 Curl.set_upload conn true;
30 Curl.set_url conn location;
31 Curl.set_readfunction conn (reader fileContent);
32 Curl.perform conn;
33 Curl.cleanup conn;
34 Printf.printf "Uploaded %d bytes\n" !counter
35 end;
36 Curl.global_cleanup ()
37 end
38 else
39 Printf.printf "Usage: oput <ftp location> <file>\n"