Skip to content
  • LRN's avatar
    GWinHTTPVfs: use URI parser for parsing URIs · ccbadcfb
    LRN authored and Philip Withnall's avatar Philip Withnall committed
    If a URI can't be handled by by WinHTTPVfs, it should pass that URI
    along to the URI parser of the wrapped Vfs, not to its generic parser.
    Theoretically, generic parser should also be able to handle URIs,
    but this is subject to Vfs semantics.
    
    In case of Windows, the wrapped Vfs is GLocalVfs, which is *local* and
    treats any generic names as either file:// URIs or as filesystem
    paths. It only ever treats URIs as URIs when they are passed
    to its URI parser. This breaks the testsuite when g-icon GIO test passes
    unhandleable sftp:// URI, and expects it to come through unmolested,
    yet GLocalVfs, getting that URI as a generic parse name, treats it as
    a filesystem path, and then "canonicalizes" it by prepending CWD.
    
    Fix this by making WinHTTPVfs pass any URIs it gets to the URI parser
    of the wrapped Vfs. This way unknown URIs remain URI-ish. This seems
    like a reasonable things to do, since the URI parser should not be
    given anything other than URIs, so there's no reason to try generic
    parsing with these strings.
    
    Closes: #875
    ccbadcfb