Class Http1Helper

java.lang.Object
cool.scx.http.x.http1.Http1Helper

public final class Http1Helper extends Object
  • Field Details

    • CONTINUE_100

      public static final byte[] CONTINUE_100
    • CRLF_BYTES

      public static final byte[] CRLF_BYTES
    • CRLF_CRLF_BYTES

      public static final byte[] CRLF_CRLF_BYTES
    • CHUNKED_END_BYTES

      public static final byte[] CHUNKED_END_BYTES
  • Constructor Details

    • Http1Helper

      public Http1Helper()
  • Method Details

    • checkUpgradeRequest

      public static ScxUpgrade checkUpgradeRequest(Http1RequestLine requestLine, Http1Headers headers)
      检查是不是 升级请求 如果不是 返回 null
    • sendContinue100

      public static void sendContinue100(OutputStream out) throws IOException
      Throws:
      IOException
    • consumeInputStream

      public static void consumeInputStream(InputStream inputStream)
    • getRemotePeer

      public static PeerInfoWritable getRemotePeer(cool.scx.tcp.ScxTCPSocket tcpSocket)
    • getLocalPeer

      public static PeerInfoWritable getLocalPeer(cool.scx.tcp.ScxTCPSocket tcpSocket)
    • validateHost

      public static void validateHost(ScxHttpHeadersWritable headers)
      验证 Http/1.1 中的 Host, 这里我们只校验是否存在且只有一个值
    • checkResponseHasBody

      public static boolean checkResponseHasBody(ScxHttpStatus status)
    • checkRequestHasBody

      public static boolean checkRequestHasBody(ScxHttpMethod method)
    • inferURI

      public static ScxURI inferURI(ScxURI requestLineTarget, ScxHttpHeaders headers, cool.scx.tcp.ScxTCPSocket tcpSocket)
      事实上我们无法拿到真正的地址 所以这里只是推测而已