Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decode headers as latin1/UTF-8, show real reason phrase #377

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Jul 4, 2024

  1. Decode headers as latin1/UTF-8, show real reason phrase

    External changes:
    
    - We now print the actual reason phrase sent by the server instead
      of guessing it from the status code. That is, if servers reply with
      "200 Wonderful" instead of "200 OK" then we show that. This is
      especially useful for status codes that xh doesn't recognize.
    
    - Header values are now decoded as latin1, with the UTF-8 decoding
      also shown if applicable.
    
    - A new FAQ file with an entry that explains header value encoding.
      Header output now hyperlinks to this entry when relevant and if
      supported by the terminal.
    
    Under the hood we now color headers manually. It's still hooked up to
    the `.tmTheme` files but not to the `.sublime-syntax` file. This lets
    us highlight the latin1 header values differently. In the future we
    could use the same approach to optimize JSON highlighting.
    
    I'm unsure about the position of the hyperlink. Currently it's the
    text "UTF-8" in `<latin1 value> (UTF-8: <utf-8 value>)`. But that
    means it's only shown if the value can be decoded as UTF-8. An
    alternative is to turn the latin1 value itself into a hyperlink, but
    that's confusing if the value itself is already a URL (which is a
    common case for the `Location` header).
    
    I also don't feel that our text is quite distinct enough from the
    header value in the default `ansi` theme. Though the hyperlink does
    help to set it apart.
    blyxxyz committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    00bc6f2 View commit details
    Browse the repository at this point in the history