Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#1 More options to support broken servers

closed-invalid
nobody
None
5
2012-09-03
2010-04-08
Sergii Pylypenko
No

I've updated https2 with more options to support some broken servers:

-a
Continue if server does not send Accept-Ranges: bytes header

-s size
Override file size, this will force httpfs2 to skip initial HEAD
request

-g
Instead of initial HEAD request send GET (and close connection)

Discussion

  • Patch

     
    Attachments
  • Hello,

    thanks for the patch.

    Instead of setting the socket type you should use close_client_force.

    I will try to look more in-depth at the patch later.

    Note however that HEAD is also used for stat(), not only the initial check that the URL exists.

     
  • Did you test how the patched httpfs works?

    Your patch to force filesize skips communication with the server entirely which does not set the mtime either.

    Also I wonder how the server would possibly be able transfer the file in chunks if it is unable to send the size of the file properly in the headers.

    Which servers are still broken in these ways today? Although support for these options is not difficult to add is it even worth it?

    Thanks

    Michal

     
  • I needed only ignoring Accept-Ranges option (the broken server is here: http://files.slayradio.org/download.php/Boz_-_BBB_20100407.mp3 - it allows Range but do not send Accept-Ranges).
    I've added file size overriding and "-g" just in case - I've never seen any such servers actually. So you can throw it out, and leave only "-a" option.
    BTW I was unable to test httpfs2 on my Ubuntu Lucid, seems to be some misconfiguration of FUSE.

     
  • For me it does not allow ranges, it just returns the full file s it does not understand the range headers which obviously causes errors.

     
  • Yes it does not allow them, my mistake. So, the patch seems to be useless.

     
    • status: open --> closed-invalid