mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-10-05 00:02:38 -04:00
* `Response#error`, which, coupled with `ErrorResponse#error`, allows for `if response.error` kind of conditional; * `Response#raise_for_status` now returns the response when no error is raise (for method chaining); Closes #153
103 lines
2.2 KiB
Plaintext
103 lines
2.2 KiB
Plaintext
module HTTPX
|
|
interface _Response
|
|
def raise_for_status: () -> self
|
|
|
|
def error: () -> StandardError?
|
|
end
|
|
|
|
class Response
|
|
extend Forwardable
|
|
|
|
include _Response
|
|
include _ToS
|
|
include _Reader
|
|
|
|
attr_reader status: Integer
|
|
attr_reader headers: Headers
|
|
attr_reader body: Body
|
|
attr_reader version: String
|
|
|
|
@options: Options
|
|
@request: Request
|
|
|
|
def copy_to: (_ToPath | _Writer destination) -> void
|
|
def close: () -> void
|
|
def uri: () -> URI::Generic
|
|
|
|
def merge_headers: (_Each[[String, headers_value]]) -> void
|
|
def bodyless?: () -> bool
|
|
def content_type: () -> ContentType
|
|
def complete?: () -> bool
|
|
|
|
def json: (?json_options opts) -> untyped
|
|
|
|
def form: () -> Hash[String, untyped]
|
|
|
|
private
|
|
|
|
def initialize: (Request request, String | Integer status, String version, headers?) -> untyped
|
|
def no_data?: () -> bool
|
|
|
|
def decode:(String format, ?untyped options) -> untyped
|
|
|
|
class Body
|
|
include _Reader
|
|
include _ToS
|
|
include _ToStr
|
|
|
|
@state: :idle | :memory | :buffer | :closed
|
|
@threshold_size: Integer
|
|
@window_size: Integer
|
|
|
|
def write:(String chunk) -> Integer?
|
|
|
|
def each: () { (String) -> void } -> void
|
|
| () -> Enumerable[String]
|
|
|
|
def bytesize: () -> Numeric
|
|
def empty?: () -> bool
|
|
def copy_to: (String | File | _Writer destination) -> void
|
|
def close: () -> void
|
|
def closed?: () -> bool
|
|
|
|
private
|
|
|
|
def initialize: (Response, Options) -> untyped
|
|
def rewind: () -> void
|
|
def transition: () -> void
|
|
end
|
|
end
|
|
|
|
class ContentType
|
|
MIME_TYPE_RE: Regexp
|
|
CHARSET_RE: Regexp
|
|
|
|
attr_reader mime_type: String?
|
|
attr_reader charset: String?
|
|
|
|
def self.parse: (_ToS) -> ContentType
|
|
def self.mime_type: (_ToS) -> String?
|
|
def self.charset: (_ToS) -> String?
|
|
|
|
private
|
|
|
|
def initialize: (String? header_value) -> void
|
|
end
|
|
|
|
class ErrorResponse
|
|
include _Response
|
|
include Loggable
|
|
|
|
@options: Options
|
|
|
|
attr_reader request: Request
|
|
|
|
def status: () -> (Integer | _ToS)
|
|
|
|
private
|
|
|
|
def initialize: (Request, Exception, options) -> untyped
|
|
end
|
|
|
|
type response = Response | ErrorResponse
|
|
end |