httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Evgeny Shvidky <evg...@skyfence.com>
Subject RPC over HTTP
Date Wed, 03 Oct 2012 09:57:50 GMT
Hi,

I am developing a new module on C.
One of the requirements of my module is to receive and handle RPC over HTTP protocol.
RPC over HTTP opens two HTTP/1.1 requests:
One with request method RPC_IN_DATA to send data to the server, and second one with method
RPC_OUT_DATA to send data back to the client. The body consists of raw binary data, and the
connections are apparently re-used for several RPCs.
Here's an example of an IN connection header:
    RPC_IN_DATA /rpc/rpcproxy.dll?<exchange>:6002 HTTP/1.1
    Content-Length: 1073741824
    ...
After connections are established client sends on "IN" channel RPC message with 104 bytes.

I use the following apache API's in order to read these client message.
ap_setup_client_block(userReq, REQUEST_CHUNKED_ERROR);
ap_should_client_block(userReq)
ap_get_client_block(userReq, buf, size)

The problem is "ap_should_client_block" function returns "1" (means there is message to read)
but "ap_get_client_block" returns error (-1) and nothing read.

How should I read client's data?
Is there any other API for it?

Thanks,
Evgeny

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message