ab7a798 libfetch: don't include fragments in HTTP requests

Authored and Committed by Pietro Cerutti a year ago
    libfetch: don't include fragments in HTTP requests
    
    Fragments are reserved for client-side processing, see
    https://www.rfc-editor.org/rfc/rfc9110.html#section-7.1
    
    Also, some servers don't like to receive HTTP requests with fragments.
    
    ```
    $ fetch 'https://dropbox.com/a/b'
    fetch: https://dropbox.com/a/b: Not Found
    
    $ fetch 'https://dropbox.com/a/b#'
    fetch: https://dropbox.com/a/b#: Bad Request
    ```
    
    This is a real-world scenario, where some download link from dropbox
    (eventually) redirects to an URL with a fragment:
    
    ```
    $ fetch -v 'https://www.dropbox.com/sh/<some>/<thing>?dl=1' 2>&1 | grep requesting
    requesting https://www.dropbox.com/sh/<some>/<thing>?dl=1
    requesting https://www.dropbox.com/scl/fo/<foo>/<bar>?rlkey=<baz>&dl=1
    requesting https://<boo>.dl.dropboxusercontent.com/zip_download_get/<some-long-strig>#
    ```
    
    See how the last redirect ends with a `#`.
    
    Currently, libfetch includes the ending fragment and makes it impossible
    to download the file.
    
    Differential Revision:	https://reviews.freebsd.org/D46318
    MFC after:		2 weeks
    
    (cherry picked from commit 1af7d5f389536a2f391153513d95d92ffdf360e4)
    
        
file modified
+4 -1