Reputation: 3082
I am using InputStreamEntity ; I am reading data from a file input stream and sending it to remote server ; everything seems to be working fine.
Now, I would like to be able to set a header just before inputstream finishes i.e. as soon as I read the last but one byte, I want to set a header. See below sample code-
The code is-
long ctr = 0; int ch;
while ((ch = inputStream.read()) >= 0) {
if (lastByte) { //lastByte is set if this will be the only byte left in inputStream
httpPut.addHeader("hello", "there");
}
}
But above code doesn't set header.
I verified using Wireshark that headers have not been already sent so I believe there is still an opportunity to set them.
Please suggest a way to handle this requirement. Thanks!
Upvotes: 2
Views: 682
Reputation: 9767
I don't believe you can do that. The way that the request "message" will be constructed and sent to the server will build/send headers FIRST then the input stream will be used as the BODY of the message. Attempting to set a header AFTER the body has been written will do nothing.
Upvotes: 1