mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-10-04 00:00:37 -04:00
41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
module HTTPX
|
|
module Plugins
|
|
module Cookies
|
|
type store_value = String | Array[HTTP::Cookie] | Hash[_ToS, _ToS]
|
|
type cookies_value = Store | store_value
|
|
|
|
interface _CookieOptions
|
|
def cookies: () -> Store?
|
|
def cookies=: (cookies_value) -> Store
|
|
def with_cookies: (cookies_value) -> instance
|
|
end
|
|
|
|
def self.extra_options: (Options) -> (Options & _CookieOptions)
|
|
|
|
module InstanceMethods
|
|
def cookies: () -> Store
|
|
end
|
|
|
|
module HeadersMethods
|
|
def set_cookie: (HTTP::CookieJar?) -> void
|
|
end
|
|
|
|
class Store
|
|
@store: Hash[string, HTTP::CookieJar]
|
|
@default_cookies: Array[HTTP::Cookie]?
|
|
|
|
def set: (string origin, string? cookies) -> void
|
|
# def []: (URI::HTTP | URI::HTTPS) -> HTTP::CookieJar
|
|
def ==: (untyped other) -> bool
|
|
|
|
private
|
|
|
|
def initialize: (store_value?) -> untyped
|
|
end
|
|
end
|
|
|
|
type sessionCookies = Session & Plugins::Cookies::InstanceMethods
|
|
type headersCookies = Headers & Plugins::Cookies::HeadersMethods
|
|
end
|
|
end
|