The Access Token is used for the actual "real" web service calls that you perform against the server
Make a regular DELETE request using AccessToken
@response = @token.delete('/people/123') @response = @token.delete('/people/123', { 'Accept' => 'application/xml' })
# File lib/oauth/tokens/access_token.rb, line 67 def delete(path, headers = {}) request(:delete, path, headers) end
Make a regular GET request using AccessToken
@response = @token.get('/people') @response = @token.get('/people', { 'Accept'=>'application/xml' })
# File lib/oauth/tokens/access_token.rb, line 26 def get(path, headers = {}) request(:get, path, headers) end
Make a regular HEAD request using AccessToken
@response = @token.head('/people')
# File lib/oauth/tokens/access_token.rb, line 34 def head(path, headers = {}) request(:head, path, headers) end
Make a regular POST request using AccessToken
@response = @token.post('/people') @response = @token.post('/people', { :name => 'Bob', :email => 'bob@mailinator.com' }) @response = @token.post('/people', { :name => 'Bob', :email => 'bob@mailinator.com' }, { 'Accept' => 'application/xml' }) @response = @token.post('/people', nil, {'Accept' => 'application/xml' }) @response = @token.post('/people', @person.to_xml, { 'Accept'=>'application/xml', 'Content-Type' => 'application/xml' })
# File lib/oauth/tokens/access_token.rb, line 46 def post(path, body = '', headers = {}) request(:post, path, body, headers) end
Make a regular PUT request using AccessToken
@response = @token.put('/people/123') @response = @token.put('/people/123', { :name => 'Bob', :email => 'bob@mailinator.com' }) @response = @token.put('/people/123', { :name => 'Bob', :email => 'bob@mailinator.com' }, { 'Accept' => 'application/xml' }) @response = @token.put('/people/123', nil, { 'Accept' => 'application/xml' }) @response = @token.put('/people/123', @person.to_xml, { 'Accept' => 'application/xml', 'Content-Type' => 'application/xml' })
# File lib/oauth/tokens/access_token.rb, line 58 def put(path, body = '', headers = {}) request(:put, path, body, headers) end
The less intrusive way. Otherwise, if we are to do it correctly inside consumer, we need to restructure and touch more methods: request(), sign!(), etc.
# File lib/oauth/tokens/access_token.rb, line 6 def request(http_method, path, *arguments) request_uri = URI.parse(path) site_uri = consumer.uri is_service_uri_different = (request_uri.absolute? && request_uri != site_uri) begin consumer.uri(request_uri) if is_service_uri_different @response = super(http_method, path, *arguments) ensure # NOTE: reset for wholesomeness? meaning that we admit only AccessToken service calls may use different URIs? # so reset in case consumer is still used for other token-management tasks subsequently? consumer.uri(site_uri) if is_service_uri_different end @response end