gauravphoenix
gauravphoenix

Reputation: 3082

Setting HTTP headers in InputStreamEntity

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

Answers (1)

Dave G
Dave G

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

Related Questions