Remove Http header response

Hi

I am working on a application which requires to make an api call to the rails application and it to return XML without any http header info.

its currently returning:

HTTP/1.1 200 OK Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: Fri, 01 Jan 1990 00:00:00 GMT Content-Type: application/xml; charset= X-Ua-Compatible: IE=Edge X-Request-Id: c5602cd7eb23ca8137bef8bb1f0a4f8a X-Runtime: 0.027900 Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-11-22) Content-Length: 529 Connection: Keep-Alive Set-Cookie: _session_id=a8039d615674feec206e6c55a7a7afc8; path=/; HttpOnly

<?xml version="1.0" encoding="UTF-8"?> <cXML>   <Response>     <Status code="200" text="OK"/>       <StartPage>     <URL>http://localhost:3000/foobar/BAh7DDoNYmFza2V0aWRJIiYxL1Y3Ti9ITS0xODg3LzIwMTQtMDYtMThUMTU6NTY6wNjcwNzkwNzMwNzgwODMwMzIGOwZUOhFzZW5kZXJzZWNyZXQw--389c54274d1cfae03e0cd943a3dcbbfb149769b9&lt;/URL&gt;       </StartPage>   </Response> </cXML>

Can anyone help to remove http headers from the controller?

HTTP/1.1 200 OK Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: Fri, 01 Jan 1990 00:00:00 GMT Content-Type: application/xml; charset= X-Ua-Compatible: IE=Edge X-Request-Id: c5602cd7eb23ca8137bef8bb1f0a4f8a X-Runtime: 0.027900 Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-11-22) Content-Length: 529 Connection: Keep-Alive Set-Cookie: _session_id=a8039d615674feec206e6c55a7a7afc8; path=/; HttpOnly

Thanks in advance.

T

For and XML response the header should be Content-type: text/xml

Generally all you need to do is pass format to the render block, or use respond_with. Alternatively, you should be able to pass content_type as a parameter to the render block.

But perhaps you meant you want to remove all the headers from the response? This is kind of a nonsense request, since HTTP servers by definition uses header to talk to one another.

That’s basically like asking to have a phone call with someone but not have the phone company use satellites or copper wires during the conversion.

What client-side application could you possibly be using to accept responses without any HTTP headers at all ?

You may think it is nonsense, W3 think otherwise. Perhaps you should inform them of their nonsense?

http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4

"message consist of a start-line, *zero* or more header fields"

Since it goes on to say (in 4.3) "The presence of a message-body in a request is signaled by the inclusion of a Content-Length or Transfer-Encoding header field in the request's message-headers" does that not imply that if there is are no headers then there can be no body either? I think the OP was looking for a body with no headers. Not to be confused with a headless body which would be quite different.

Colin

He gets that snippet from another server, the opening does not want to create a body without headers, he wants to extract the actual body out of a full HTTP-response he got from external services.

So easiest way would be to drop everything before the first (and including it) newline, the remainder is the body, as described in the HTTP-RFC…

Norbert Melzer wrote in post #1150632:

He gets that snippet from another server, the opening does not want to create a body without headers, he wants to extract the actual body out of a full HTTP-response he got from external services.

So easiest way would be to drop everything before the first (and including it) newline, the remainder is the body, as described in the HTTP-RFC...

Hi Norbert

My client only wish to receive the http body from me (rails application with nginx) and he is unable to extract from a full http response. Therefore any advise to just sent down only the response body is still very much appreciated.

T

Ps I also want to thank all have responded so far.

Colin, Yes, it does say that, however, the "or" is important as it also says that the transfer encoding may be removed. The OP wants to send a response without any headers. This is within the rfc and so should be doable, regardless of how retarded it seems to be :slight_smile:

Here's the syntax of the response:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6

Colin, Yes, it does say that, however, the "or" is important as it also says that the transfer encoding may be removed.

Don't follow you there, where does it say the transfer encoding may be removed?

Colin