Class: HTTP::Session

Inherits:
Object
  • Object
show all
Includes:
Configurable, Requestable, MonitorMixin
Defined in:
lib/http/session.rb,
lib/http/session/cache.rb,
lib/http/session/client.rb,
lib/http/session/options.rb,
lib/http/session/request.rb,
lib/http/session/version.rb,
lib/http/session/response.rb,
lib/http/session/cache/entry.rb,
lib/http/session/requestable.rb,
lib/http/session/cache/status.rb,
lib/http/session/configurable.rb,
lib/http/session/client/perform.rb,
lib/http/session/cache/cache_control.rb,
lib/http/session/options/cache_option.rb,
lib/http/session/response/string_body.rb,
lib/http/session/features/auto_inflate.rb,
lib/http/session/options/cookies_option.rb

Overview

Use session to manage cookies and cache across requests.

Defined Under Namespace

Modules: Configurable, Features, Requestable Classes: Cache, Client, Options, Request, Response

Constant Summary collapse

VERSION =
"1.0.1"

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Requestable

#connect, #delete, #get, #head, #options, #patch, #post, #put, #trace

Methods included from Configurable

#accept, #auth, #basic_auth, #cookies, #encoding, #follow, #headers, #nodelay, #timeout, #use, #via

Constructor Details

#initialize(default_options = {}) ⇒ Session

Returns a new instance of Session.

Parameters:

  • default_options (Hash) (defaults to: {})

Options Hash (default_options):

  • :cookies (Boolean, Hash)

    session cookies option

  • :cache (Boolean, Hash)

    session cache option

  • :http (Hash)

    http client options



43
44
45
46
47
48
49
# File 'lib/http/session.rb', line 43

def initialize(default_options = {})
  super()

  @default_options = HTTP::Session::Options.new(default_options)
  @cache = HTTP::Session::Cache.new(@default_options.cache)
  @jar = HTTP::CookieJar.new
end

Instance Attribute Details

#cacheObject (readonly)

Returns the value of attribute cache.



33
34
35
# File 'lib/http/session.rb', line 33

def cache
  @cache
end

#default_optionsObject (readonly)

Returns the value of attribute default_options.



29
30
31
# File 'lib/http/session.rb', line 29

def default_options
  @default_options
end

#jarObject (readonly)

Returns the value of attribute jar.



37
38
39
# File 'lib/http/session.rb', line 37

def jar
  @jar
end

Instance Method Details

#request(verb, uri, opts = {}) ⇒ Response

Parameters:

  • verb
  • uri
  • opts (Hash) (defaults to: {})

Returns:



55
56
57
58
59
60
# File 'lib/http/session.rb', line 55

def request(verb, uri, opts = {})
  c = HTTP::Session::Client.new(@default_options.http, self)
  c.request(verb, uri, opts).tap do |res|
    handle_http_response(res)
  end
end