java.lang.Object
org.eclipse.jgit.internal.transport.sshd.proxy.HttpParser

public final class HttpParser extends Object
A basic parser for HTTP response headers. Handles status lines and authentication headers (WWW-Authenticate, Proxy-Authenticate).
See Also:
  • Constructor Details

    • HttpParser

      private HttpParser()
  • Method Details

    • parseStatusLine

      public static StatusLine parseStatusLine(String line) throws HttpParser.ParseException
      Parse a HTTP response status line.
      Parameters:
      line - to parse
      Returns:
      the StatusLine
      Throws:
      HttpParser.ParseException - if the line cannot be parsed or has the wrong HTTP version
    • getAuthenticationHeaders

      public static List<AuthenticationChallenge> getAuthenticationHeaders(List<String> reply, String authenticationHeader)
      Extract the authentication headers from the header lines. It is assumed that the first element in reply is the raw status line as received from the server. It is skipped. Line processing stops on the first empty line thereafter.
      Parameters:
      reply - The complete (header) lines of the HTTP response
      authenticationHeader - to look for (including the terminating ':'!)
      Returns:
      a list of AuthenticationChallenges found.
    • parseChallenges

      private static void parseChallenges(List<AuthenticationChallenge> challenges, String header)
    • parseChallenge

      private static int parseChallenge(AuthenticationChallenge challenge, String header, int from)
    • skipWhiteSpace

      private static int skipWhiteSpace(String header, int i)
    • scanQuotedString

      private static String scanQuotedString(String header, int from, int[] to)