HttpResponse

HttpResponse 类扩展自 HttpPacket,用于表示 HTTP 响应。它包含了与 HTTP 响应相关的状态码、头部信息、Cookie 和主体内容。

构造方法

  1. HttpResponse()

    • 说明:默认构造函数,初始化一个空的 HTTP 响应对象。
  2. HttpResponse(HttpRequest request)

    • 参数:HttpRequest request - 对应的 HTTP 请求。
    • 说明:根据提供的 HTTP 请求创建响应。这种方式允许响应与请求相关联,从而可以更好地处理连接和版本兼容性。
  3. HttpResponse(Map<HeaderName, HeaderValue> responseHeaders, byte[] body)

    • 参数:Map<HeaderName, HeaderValue> responseHeaders - 响应头部。
    • 参数:byte[] body - 响应主体。
    • 说明:通过指定的头部信息和主体内容创建一个 HTTP 响应。

公开方法

  1. crossDomain()

    • 说明:设置响应头以支持跨域请求。
  2. cloneResponse(HttpRequest request, HttpResponse response)

    • 参数:HttpRequest request - HTTP 请求。
    • 参数:HttpResponse response - 要克隆的响应。
    • 返回:HttpResponse - 响应对象
  3. getHeaders()

    • 返回:Map<HeaderName, HeaderValue> - 响应头部。
    • 说明:返回 HTTP 响应的头部信息。注意,不应直接修改返回的 Map 对象,而应使用提供的方法来添加或修改头部。
  4. addHeader(HeaderName key, HeaderValue value)

    • 参数:HeaderName key - 头部名称。
    • 参数:HeaderValue value - 头部值。
    • 说明:向响应中添加一个头部。
  5. addHeaders(Map<HeaderName, HeaderValue> headers)

    • 参数:Map<HeaderName, HeaderValue> headers - 要添加的头部集合。
    • 说明:添加一组头部到响应中。
  6. getContentType()

    • 返回:HeaderValue - "Content-Type"头部的值。
    • 说明:获取响应的"Content-Type"头部内容。
  7. addCookie(Cookie cookie)

    • 参数:Cookie cookie - 要添加的 Cookie。
    • 返回:boolean - 添加是否成功。
    • 说明:向响应中添加一个 Cookie。
  8. getCharset()

    • 返回:String - 字符集。
    • 说明:获取响应使用的字符集。
  9. getCookies()

    • 返回:List<Cookie> - Cookie 列表。
    • 说明:返回响应中包含的所有 Cookie。
  10. getHttpRequest()

    • 返回:HttpRequest - 对应的 HTTP 请求。
    • 说明:获取与此响应相关联的 HTTP 请求。
  11. getStatus()

    • 返回:HttpResponseStatus - 响应状态。
    • 说明:获取响应的状态码。
  12. isStaticRes()

    • 返回:boolean - 是否是静态资源。
    • 说明:检查此响应是否表示静态资源。
  13. logstr()

    • 返回:String - 日志字符串。
    • 说明:生成响应的日志表示,通常用于调试和日志记录。
  14. setCharset(String charset)

    • 参数:String charset - 字符集。
    • 说明:设置响应使用的字符集。
  15. setCookies(List<Cookie> cookies)

    • 参数:List<Cookie> cookies - Cookie 列表。
    • 说明:设置响应中包含的 Cookie。
  16. setHttpRequestPacket(HttpRequest request)

    • 参数:HttpRequest request - HTTP 请求。
    • 说明:设置与此响应相关联的 HTTP 请求。
  17. setStaticRes(boolean isStaticRes)

    • 参数:boolean isStaticRes - 是否是静态资源。
    • 说明:设置此响应是否表示静态资源。
  18. setStatus(HttpResponseStatus status)

    • 参数:HttpResponseStatus status - 响应状态。
    • 说明:设置响应的状态码。
  19. isHasGzipped()

    • 返回:boolean - 是否已经被 GZIP 压缩。
    • 说明:检查响应的内容是否已经被 GZIP 压缩。
  20. setHasGzipped(boolean hasGzipped)

    • 参数:boolean hasGzipped - 是否已经被 GZIP 压缩。
    • 说明:设置响应的内容是否已经被 GZIP 压缩。
  21. isSkipIpStat()

    • 返回:boolean - 是否忽略 IP 访问统计。
    • 说明:检查是否忽略对此响应的 IP 访问统计。
  22. setSkipIpStat(boolean skipIpStat)

    • 参数:boolean skipIpStat - 是否忽略 IP 访问统计。
    • 说明:设置是否忽略对此响应的 IP 访问统计。
  23. isSkipTokenStat()

    • 返回:boolean - 是否忽略 token 访问统计。
    • 说明:检查是否忽略对此响应的 token 访问统计。
  24. setSkipTokenStat(boolean skipTokenStat)

    • 参数:boolean skipTokenStat - 是否忽略 token 访问统计。
    • 说明:设置是否忽略对此响应的 token 访问统计。
  25. getLastModified()

    • 返回:HeaderValue - 最后修改时间。
    • 说明:获取响应的最后修改时间头部。
  26. getHeader(HeaderName name)

    • 参数:HeaderName name - 头部名称。
    • 返回:HeaderValue - 头部值。
    • 说明:根据头部名称获取相应的头部值。
  27. setLastModified(HeaderValue lastModified)

    • 参数:HeaderValue lastModified - 最后修改时间。
    • 说明:设置响应的最后修改时间头部。
  28. toString()

    • 返回:String - 响应的字符串表示。
    • 说明:返回响应的字符串表示,通常用于调试和日志记录。
  29. getHeaderByteCount() - 返回:int - 头部字节计数。 - 说明:获取响应头部的字节大小。