Module: Http::Chainable

Included in:
Http, Client
Defined in:
lib/http/chainable.rb

Instance Method Summary collapse

Instance Method Details

#accept(type) ⇒ Object

Accept the given MIME type(s)



65
66
67
68
69
70
71
72
73
# File 'lib/http/chainable.rb', line 65

def accept(type)
  if type.is_a? String
    with :accept => type
  else
    mime_type = Http::MimeType[type]
    raise ArgumentError, "unknown MIME type: #{type}" unless mime_type
    with :accept => mime_type.type
  end
end

#connect(uri, options = {}) ⇒ Object

Convert to a transparent TCP/IP tunnel



39
40
41
# File 'lib/http/chainable.rb', line 39

def connect(uri, options = {})
  request :connect, uri, options
end

#default_callbacksObject



93
94
95
# File 'lib/http/chainable.rb', line 93

def default_callbacks
  default_options.callbacks
end

#default_callbacks=(callbacks) ⇒ Object



97
98
99
100
101
# File 'lib/http/chainable.rb', line 97

def default_callbacks=(callbacks)
  @default_options = default_options.dup do |opts|
    opts.callbacks = callbacks
  end
end

#default_headersObject



83
84
85
# File 'lib/http/chainable.rb', line 83

def default_headers
  default_options.headers
end

#default_headers=(headers) ⇒ Object



87
88
89
90
91
# File 'lib/http/chainable.rb', line 87

def default_headers=(headers)
  @default_options = default_options.dup do |opts|
    opts.headers = headers
  end
end

#default_optionsObject



75
76
77
# File 'lib/http/chainable.rb', line 75

def default_options
  @default_options ||= Options.new
end

#default_options=(opts) ⇒ Object



79
80
81
# File 'lib/http/chainable.rb', line 79

def default_options=(opts)
  @default_options = Options.new(opts)
end

#delete(uri, options = {}) ⇒ Object

Delete a resource



24
25
26
# File 'lib/http/chainable.rb', line 24

def delete(uri, options = {})
  request :delete, uri, options
end

#get(uri, options = {}) ⇒ Object

Get a resource



9
10
11
# File 'lib/http/chainable.rb', line 9

def get(uri, options = {})
  request :get, uri, options
end

#head(uri, options = {}) ⇒ Object

Request a get sans response body



4
5
6
# File 'lib/http/chainable.rb', line 4

def head(uri, options = {})
  request :head, uri, options
end

#on(event, &block) ⇒ Object

Make a request invoking the given event callbacks



54
55
56
# File 'lib/http/chainable.rb', line 54

def on(event, &block)
  branch default_options.with_callback(event, block)
end

#options(uri, options = {}) ⇒ Object

Return the methods supported on the given URI



34
35
36
# File 'lib/http/chainable.rb', line 34

def options(uri, options = {})
  request :options, uri, options
end

#patch(uri, options = {}) ⇒ Object

Apply partial modifications to a resource



44
45
46
# File 'lib/http/chainable.rb', line 44

def patch(uri, options = {})
  request :patch, uri, options
end

#post(uri, options = {}) ⇒ Object

Post to a resource



14
15
16
# File 'lib/http/chainable.rb', line 14

def post(uri, options = {})
  request :post, uri, options
end

#put(uri, options = {}) ⇒ Object

Put to a resource



19
20
21
# File 'lib/http/chainable.rb', line 19

def put(uri, options = {})
  request :put, uri, options
end

#request(verb, uri, options = {}) ⇒ Object

Make an HTTP request with the given verb



49
50
51
# File 'lib/http/chainable.rb', line 49

def request(verb, uri, options = {})
  branch(options).request verb, uri
end

#trace(uri, options = {}) ⇒ Object

Echo the request back to the client



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

def trace(uri, options = {})
  request :trace, uri, options
end

#with_headers(headers) ⇒ Object Also known as: with

Make a request with the given headers



59
60
61
# File 'lib/http/chainable.rb', line 59

def with_headers(headers)
  branch default_options.with_headers(headers)
end