diff options
author | Jimmy Olgeni <olgeni@FreeBSD.org> | 2003-06-01 09:33:04 +0000 |
---|---|---|
committer | Jimmy Olgeni <olgeni@FreeBSD.org> | 2003-06-01 09:33:04 +0000 |
commit | 28f15eab133cf2b65efb29c8d764fea9364d67b1 (patch) | |
tree | c355f2c62043ded35a4d3a3bc5746dbb67044b1b /net/erlang_xmlrpc/files/patch-src_xmlrpc__http.erl | |
parent | Security Update (diff) |
Update to version 1.13. Make it support large requests/replies, and
deliver the proper Content-type required by some clients (like the
ruby xmlrpc implementation).
Diffstat (limited to 'net/erlang_xmlrpc/files/patch-src_xmlrpc__http.erl')
-rw-r--r-- | net/erlang_xmlrpc/files/patch-src_xmlrpc__http.erl | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/net/erlang_xmlrpc/files/patch-src_xmlrpc__http.erl b/net/erlang_xmlrpc/files/patch-src_xmlrpc__http.erl new file mode 100644 index 000000000000..e3b494fd5742 --- /dev/null +++ b/net/erlang_xmlrpc/files/patch-src_xmlrpc__http.erl @@ -0,0 +1,29 @@ + +$FreeBSD$ + +--- src/xmlrpc_http.erl.orig Wed Apr 23 21:06:45 2003 ++++ src/xmlrpc_http.erl Fri May 23 11:59:38 2003 +@@ -142,7 +142,14 @@ + + get_payload(Socket, Timeout, ContentLength) -> + inet:setopts(Socket, [{packet, raw}]), +- gen_tcp:recv(Socket, ContentLength, Timeout). ++ get_payload(Socket, Timeout, ContentLength, []). ++ ++get_payload(Socket, Timeout, 0, Payload) -> ++ {ok, lists:concat(lists:reverse(Payload))}; ++ ++get_payload(Socket, Timeout, ContentLength, Payload) -> ++ {ok, Bin} = gen_tcp:recv(Socket, 0, Timeout), ++ get_payload(Socket, Timeout, ContentLength - length(Bin), [Bin|Payload]). + + eval_payload(Socket, Timeout, {M, F} = Handler, State, Connection, Payload) -> + case catch M:F(State, Payload) of +@@ -190,6 +197,7 @@ + Response = + ["HTTP/1.1 ", integer_to_list(StatusCode), " ", + reason_phrase(StatusCode), "\r\n", ++ "Content-Type: text/xml\r\n", + "Content-Length: ", integer_to_list(lists:flatlength(Payload)), + "\r\n", + "Server: Erlang/1.13\r\n", |