Class to handle connections to remote web services. This class is used by ActiveResource::Base to interface with REST services.
HTTP_FORMAT_HEADER_NAMES | = | { :get => 'Accept', :put => 'Content-Type', :post => 'Content-Type', :delete => 'Accept', :head => 'Accept' |
[RW] | format | |
[R] | password | |
[R] | proxy | |
[R] | site | |
[R] | ssl_options | |
[R] | timeout | |
[R] | user |
The site parameter is required and will set the site attribute to the URI for the remote resource service.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 96 96: def initialize(site, format = ActiveResource::Formats[:xml]) 97: raise ArgumentError, 'Missing site URI' unless site 98: @user = @password = nil 99: self.site = site 100: self.format = format 101: end
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 89 89: def requests 90: @@requests ||= [] 91: end
Execute a DELETE request (see HTTP protocol documentation if unfamiliar). Used to delete resources.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 143 143: def delete(path, headers = {}) 144: request(:delete, path, build_request_headers(headers, :delete)) 145: end
Execute a GET request. Used to get (find) resources.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 137 137: def get(path, headers = {}) 138: format.decode(request(:get, path, build_request_headers(headers, :get)).body) 139: end
Execute a HEAD request. Used to obtain meta-information about resources, such as whether they exist and their size (via response headers).
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 161 161: def head(path, headers = {}) 162: request(:head, path, build_request_headers(headers, :head)) 163: end
Set password for remote service.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 121 121: def password=(password) 122: @password = password 123: end
Execute a POST request. Used to create new resources.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 155 155: def post(path, body = '', headers = {}) 156: request(:post, path, body.to_s, build_request_headers(headers, :post)) 157: end
Set the proxy for remote service.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 111 111: def proxy=(proxy) 112: @proxy = proxy.is_a?(URI) ? proxy : URI.parse(proxy) 113: end
Execute a PUT request (see HTTP protocol documentation if unfamiliar). Used to update resources.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 149 149: def put(path, body = '', headers = {}) 150: request(:put, path, body.to_s, build_request_headers(headers, :put)) 151: end
Set URI for remote service.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 104 104: def site=(site) 105: @site = site.is_a?(URI) ? site : URI.parse(site) 106: @user = URI.decode(@site.user) if @site.user 107: @password = URI.decode(@site.password) if @site.password 108: end
Hash of options applied to Net::HTTP instance when site protocol is ‘https’.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 131 131: def ssl_options=(opts={}) 132: @ssl_options = opts 133: end
Set the number of seconds after which HTTP requests to the remote service should time out.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 126 126: def timeout=(timeout) 127: @timeout = timeout 128: end
Set the user for remote service.
[ show source ]
# File activeresource/lib/active_resource/connection.rb, line 116 116: def user=(user) 117: @user = user 118: end