use of cz.msebera.android.httpclient.io.HttpMessageWriter in project Zom-Android by zom.
the class OtrDataHandler method sendRequest.
private void sendRequest(Request request) {
MemorySessionOutputBuffer outBuf = new MemorySessionOutputBuffer();
HttpMessageWriter writer = new HttpRequestWriter(outBuf, lineFormatter, params);
HttpMessage req = new BasicHttpRequest(request.method, request.url, PROTOCOL_VERSION);
String uid = UUID.randomUUID().toString();
req.addHeader("Request-Id", uid);
if (request.headers != null) {
for (Entry<String, String> entry : request.headers.entrySet()) {
req.addHeader(entry.getKey(), entry.getValue());
}
}
try {
writer.write(req);
outBuf.write(request.body);
outBuf.flush();
} catch (IOException e) {
throw new RuntimeException(e);
} catch (HttpException e) {
throw new RuntimeException(e);
}
byte[] data = outBuf.getOutput();
Message message = new Message("");
message.setFrom(request.us);
message.setTo(request.them);
if (req.containsHeader("Range"))
debug("send request " + request.method + " " + request.url + " " + req.getFirstHeader("Range"));
else
debug("send request " + request.method + " " + request.url);
requestCache.put(uid, request);
mChatSession.sendDataAsync(message, false, data);
}
use of cz.msebera.android.httpclient.io.HttpMessageWriter in project Zom-Android by zom.
the class OtrDataHandler method sendResponse.
private void sendResponse(Address us, Address them, int code, String statusString, String uid, byte[] body) {
MemorySessionOutputBuffer outBuf = new MemorySessionOutputBuffer();
HttpMessageWriter writer = new HttpResponseWriter(outBuf, lineFormatter, params);
HttpMessage response = new BasicHttpResponse(new BasicStatusLine(PROTOCOL_VERSION, code, statusString));
response.addHeader("Request-Id", uid);
try {
writer.write(response);
outBuf.write(body);
outBuf.flush();
} catch (IOException e) {
throw new RuntimeException(e);
} catch (HttpException e) {
throw new RuntimeException(e);
}
byte[] data = outBuf.getOutput();
Message message = new Message("");
message.setFrom(us);
message.setTo(them);
debug("send response " + statusString + " for " + uid);
mChatSession.sendDataAsync(message, true, data);
}
Aggregations