2

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!

1 Answer 1

1

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.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.