Inets/http
Johan.Blom@REDACTED
Johan.Blom@REDACTED
Thu Sep 4 17:12:48 CEST 2003
Hi Rudolph,
sorry for not responding earlier, been busy...
I don't know about support, nor unit tests, but as I once wrote it I do
feel a bit responsible.
Issue 1:
Well, I think this is pretty clear, see Section 14.30 in RFC2616 that
states that the Location header MUST use the absoluteURI format.
Furthermore, strict standard compliance is something I strive for thus
the comment in the source. To fix your problem I would suggest to add a
"relax" option for a less strict interpretation and then add behaviours
as needed.
Issue 2:
You are aboslutely right.
I have updated the cvs tree at sowap.sf.net with fixes.
Regards
Johan Blom
Mobile Arts
Rudolph van Graan wrote:
> Hi all,
>
> Today I have a question regarding the support of the http module in
> inets. I've recently had to write an application that uses http to
> retrieve some information. I found some issues with the way the code
> deals with a) Microsoft IIS redirects [a known issue] and b) handling of
> spaces in GET parameters. I've mailed the author of http requestion help
> building a patch to address these issues, but to date I had no response.
> So, how does one report bugs on http and how can I submit possible
> fixes? I couldn't find any reference in the code to standard unit tests,
> so I don't know if my patch broke anything. Does someone know of tests
> written for http?
>
> Issue 1:
>
> The first issue has to do with the comments at the top of the http.erl
> module:
>
> %% Note:
> %% - Some servers (e.g. Microsoft-IIS/5.0) may sometimes not return a
> proper
> %% 'Location' header on a redirect.
> %% The client will fail with {error,no_scheme} in these cases.
>
> Suppose the url one is trying to fetch is
> "http://some.server.com/blah.asp" and it tries to redirect to "blie.asp"
> on the same server, the Location header field contains "blie.asp"
> instead of "http://some.server.asp/blie.asp". Is this correct? I've
> found that when an IIS 5.0 server redirects, it does not expand the URL
> back to its complete form. I *have* to get http.erl to work properly
> with someone else's website, so I've started at trying to fix this
> problem [by letting httpc_handler.erl] fix the Location when it is in
> this state. I've built a simple fix, but I cannot regression test it
> using the unittests for the module, nor do I know how to include this in
> the actual erlang distribution.
>
>
> Issue 2:
>
> The other problem has to do with a URL that looks like this
> "http://some.server.com/blah.asp?data=Some%20Text"
>
> The %20 means a space in the data. Now, http "prepares" the url and then
> change the %20 into a space, so the actual
> URL requested from the Web server is
> "http://some.server.com/blah.asp?data=Some Text" which clearly is not
> properly formed. I feel that the code should in fact change any embedded
> spaces into the hex version, but not change embedded hex characters back
> to the actual form.
>
> Any suggestions?
>
> Thank you for all the help in the past.
>
> Rgds,
>
> Rudolph
>
>
More information about the erlang-questions
mailing list