Module: Rest::InternalClient
- Defined in:
- lib/rest/wrappers/internal_client/internal/mimes.rb,
lib/rest/wrappers/internal_client/internal_client.rb,
lib/rest/wrappers/internal_client/internal/payload.rb,
lib/rest/wrappers/internal_client/internal/request.rb,
lib/rest/wrappers/internal_client/internal/resource.rb,
lib/rest/wrappers/internal_client/internal/response.rb,
lib/rest/wrappers/internal_client/internal/exceptions.rb,
lib/rest/wrappers/internal_client/internal/raw_response.rb,
lib/rest/wrappers/internal_client/internal/abstract_response.rb
Defined Under Namespace
Modules: AbstractResponse, Exceptions, Mimes, Payload, Response, ResponseForException Classes: Exception, ExceptionWithResponse, MaxRedirectsReached, RawResponse, Redirect, Request, RequestFailed, Resource, SSLCertificateNotVerified, ServerBrokeConnection
Constant Summary collapse
- STATUSES =
{100 => 'Continue', 101 => 'Switching Protocols', 102 => 'Processing', #WebDAV 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', # http/1.1 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 207 => 'Multi-Status', #WebDAV 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', # http/1.1 304 => 'Not Modified', 305 => 'Use Proxy', # http/1.1 306 => 'Switch Proxy', # no longer used 307 => 'Temporary Redirect', # http/1.1 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Resource Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Timeout', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Long', 415 => 'Unsupported Media Type', 416 => 'Requested Range Not Satisfiable', 417 => 'Expectation Failed', 418 => 'I\'m A Teapot', 421 => 'Too Many Connections From This IP', 422 => 'Unprocessable Entity', #WebDAV 423 => 'Locked', #WebDAV 424 => 'Failed Dependency', #WebDAV 425 => 'Unordered Collection', #WebDAV 426 => 'Upgrade Required', 449 => 'Retry With', #Microsoft 450 => 'Blocked By Windows Parental Controls', #Microsoft 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Timeout', 505 => 'HTTP Version Not Supported', 506 => 'Variant Also Negotiates', 507 => 'Insufficient Storage', #WebDAV 509 => 'Bandwidth Limit Exceeded', #Apache 510 => 'Not Extended'}
- @@env_log =
create_log ENV['RESTCLIENT_LOG']
- @@log =
nil- @@before_execution_procs =
[]
Class Attribute Summary collapse
-
.proxy ⇒ Object
Returns the value of attribute proxy.
Class Method Summary collapse
-
.add_before_execution_proc(&proc) ⇒ Object
Add a Proc to be called before each request in executed.
-
.before_execution_procs ⇒ Object
:nodoc:.
-
.create_log(param) ⇒ Object
Create a log that respond to << like a logger param can be ‘stdout’, ‘stderr’, a string (then we will log to that file) or a logger (then we return it).
- .delete(url, headers = {}, &block) ⇒ Object
- .get(url, headers = {}, &block) ⇒ Object
- .head(url, headers = {}, &block) ⇒ Object
-
.log ⇒ Object
:nodoc:.
-
.log=(log) ⇒ Object
Setup the log for InternalClient calls.
- .options(url, headers = {}, &block) ⇒ Object
- .patch(url, payload, headers = {}, &block) ⇒ Object
- .post(url, payload, headers = {}, &block) ⇒ Object
- .put(url, payload, headers = {}, &block) ⇒ Object
-
.reset_before_execution_procs ⇒ Object
Reset the procs to be called before each request is executed.
- .version ⇒ Object
Class Attribute Details
.proxy ⇒ Object
Returns the value of attribute proxy.
98 99 100 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 98 def proxy @proxy end |
Class Method Details
.add_before_execution_proc(&proc) ⇒ Object
Add a Proc to be called before each request in executed. The proc parameters will be the http request and the request params.
163 164 165 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 163 def self.add_before_execution_proc &proc @@before_execution_procs << proc end |
.before_execution_procs ⇒ Object
:nodoc:
172 173 174 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 172 def self.before_execution_procs # :nodoc: @@before_execution_procs end |
.create_log(param) ⇒ Object
Create a log that respond to << like a logger param can be ‘stdout’, ‘stderr’, a string (then we will log to that file) or a logger (then we return it)
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 116 def self.create_log param if param if param.is_a? String if param == 'stdout' stdout_logger = Class.new do def << obj STDOUT.puts obj end end stdout_logger.new elsif param == 'stderr' stderr_logger = Class.new do def << obj STDERR.puts obj end end stderr_logger.new else file_logger = Class.new do attr_writer :target_file def << obj File.open(@target_file, 'a') { |f| f.puts obj } end end logger = file_logger.new logger.target_file = param logger end else param end end end |
.delete(url, headers = {}, &block) ⇒ Object
85 86 87 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 85 def self.delete(url, headers={}, &block) Request.execute(:method => :delete, :url => url, :headers => headers, &block) end |
.get(url, headers = {}, &block) ⇒ Object
69 70 71 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 69 def self.get(url, headers={}, &block) Request.execute(:method => :get, :url => url, :headers => headers, &block) end |
.head(url, headers = {}, &block) ⇒ Object
89 90 91 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 89 def self.head(url, headers={}, &block) Request.execute(:method => :head, :url => url, :headers => headers, &block) end |
.log ⇒ Object
:nodoc:
155 156 157 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 155 def self.log # :nodoc: @@env_log || @@log end |
.log=(log) ⇒ Object
Setup the log for InternalClient calls. Value should be a logger but can can be stdout, stderr, or a filename. You can also configure logging by the environment variable RESTCLIENT_LOG.
104 105 106 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 104 def self.log= log @@log = create_log log end |
.options(url, headers = {}, &block) ⇒ Object
93 94 95 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 93 def self.(url, headers={}, &block) Request.execute(:method => :options, :url => url, :headers => headers, &block) end |
.patch(url, payload, headers = {}, &block) ⇒ Object
77 78 79 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 77 def self.patch(url, payload, headers={}, &block) Request.execute(:method => :patch, :url => url, :payload => payload, :headers => headers, &block) end |
.post(url, payload, headers = {}, &block) ⇒ Object
73 74 75 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 73 def self.post(url, payload, headers={}, &block) Request.execute(:method => :post, :url => url, :payload => payload, :headers => headers, &block) end |
.put(url, payload, headers = {}, &block) ⇒ Object
81 82 83 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 81 def self.put(url, payload, headers={}, &block) Request.execute(:method => :put, :url => url, :payload => payload, :headers => headers, &block) end |
.reset_before_execution_procs ⇒ Object
Reset the procs to be called before each request is executed.
168 169 170 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 168 def self.reset_before_execution_procs @@before_execution_procs = [] end |
.version ⇒ Object
108 109 110 111 112 |
# File 'lib/rest/wrappers/internal_client/internal_client.rb', line 108 def self.version version_path = File.dirname(__FILE__) + "/../VERSION" return File.read(version_path).chomp if File.file?(version_path) "0.0.0" end |