| 505 -> "HTTP version not supported"
| invalid_code -> raise (Invalid_code invalid_code)
-let build_sockaddr ~addr ~port =
+let build_sockaddr (addr, port) =
Unix.ADDR_INET (Unix.inet_addr_of_string addr, port)
+let explode_sockaddr = function
+ | Unix.ADDR_INET (addr, port) -> (Unix.string_of_inet_addr addr, port)
+ | _ -> assert false (* can explode only inet address *)
+
+let peername_of_out_channel outchan =
+ Unix.getpeername (Unix.descr_of_out_channel outchan)
+let peername_of_in_channel inchan =
+ Unix.getpeername (Unix.descr_of_in_channel inchan)
+