Class: Hoodoo::Client::Endpoint::HTTP
- Inherits:
-
HTTPBased
- Object
- Hoodoo::Client::Endpoint
- HTTPBased
- Hoodoo::Client::Endpoint::HTTP
- Defined in:
- lib/hoodoo/client/endpoint/endpoints/http.rb
Overview
Talk to a resource that is contacted over HTTP or HTTPS.
Configured with a Hoodoo::Services::Discovery::ForHTTP discovery result instance.
Instance Attribute Summary
Attributes inherited from Hoodoo::Client::Endpoint
#interaction, #locale, #resource, #session_id, #version
Instance Method Summary collapse
-
#create(body_hash, query_hash = nil) ⇒ Object
See Hoodoo::Client::Endpoint#create.
-
#delete(ident, query_hash = nil) ⇒ Object
See Hoodoo::Client::Endpoint#delete.
-
#list(query_hash = nil) ⇒ Object
See Hoodoo::Client::Endpoint#list.
-
#show(ident, query_hash = nil) ⇒ Object
See Hoodoo::Client::Endpoint#show.
-
#update(ident, body_hash, query_hash = nil) ⇒ Object
See Hoodoo::Client::Endpoint#update.
Methods inherited from Hoodoo::Client::Endpoint
Constructor Details
This class inherits a constructor from Hoodoo::Client::Endpoint
Instance Method Details
#create(body_hash, query_hash = nil) ⇒ Object
See Hoodoo::Client::Endpoint#create.
85 86 87 88 89 90 91 92 |
# File 'lib/hoodoo/client/endpoint/endpoints/http.rb', line 85 def create( body_hash, query_hash = nil ) d = @description.dup d.action = :create d.body_hash = body_hash d.query_hash = query_hash return do_http( d ) end |
#delete(ident, query_hash = nil) ⇒ Object
See Hoodoo::Client::Endpoint#delete.
108 109 110 111 112 113 114 115 |
# File 'lib/hoodoo/client/endpoint/endpoints/http.rb', line 108 def delete( ident, query_hash = nil ) d = @description.dup d.action = :delete d.ident = ident d.query_hash = query_hash return do_http( d ) end |
#list(query_hash = nil) ⇒ Object
See Hoodoo::Client::Endpoint#list.
49 50 51 52 53 54 55 |
# File 'lib/hoodoo/client/endpoint/endpoints/http.rb', line 49 def list( query_hash = nil ) d = @description.dup # This does NOT dup the objects to which @description points d.action = :list d.query_hash = query_hash return inject_enumeration_state( do_http( d ), query_hash ) end |
#show(ident, query_hash = nil) ⇒ Object
See Hoodoo::Client::Endpoint#show.
In RESTful HTTP, GET /resources/#{ident = nil} gets evaluated
as GET /resources/, which is of course interpreted as a #list
request. Since this is undesirable behaviour, the ident must be
populated, and this will return 404 Not Found if it is not.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/hoodoo/client/endpoint/endpoints/http.rb', line 64 def show( ident, query_hash = nil ) if ident.nil? data = response_class_for( :show ).new data.platform_errors.add_error( 'platform.not_found', 'reference' => {entity_name: 'nil identifier given on :show action'} ) return data end d = @description.dup d.action = :show d.ident = ident d.query_hash = query_hash return do_http( d ) end |
#update(ident, body_hash, query_hash = nil) ⇒ Object
See Hoodoo::Client::Endpoint#update.
96 97 98 99 100 101 102 103 104 |
# File 'lib/hoodoo/client/endpoint/endpoints/http.rb', line 96 def update( ident, body_hash, query_hash = nil ) d = @description.dup d.action = :update d.ident = ident d.body_hash = body_hash d.query_hash = query_hash return do_http( d ) end |