Class: GroupDocs::Api::Request
- Inherits:
-
Object
- Object
- GroupDocs::Api::Request
- Includes:
- Helpers::Credentials, Helpers::REST, Helpers::URL
- Defined in:
- lib/groupdocs/api/request.rb
Constant Summary
Constants included from Helpers::REST
Helpers::REST::DEFAULT_HEADERS
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#execute! ⇒ Hash, String
Executes API request to server.
-
#initialize(options = {}) {|options| ... } ⇒ Request
constructor
Creates new API request.
Methods included from Helpers::URL
Constructor Details
#initialize(options = {}) {|options| ... } ⇒ Request
Creates new API request.
39 40 41 42 43 44 |
# File 'lib/groupdocs/api/request.rb', line 39 def initialize( = {}, &blk) @options = yield @options if block_given? @options[:access] ||= {} @resource = RestClient::Resource.new(GroupDocs.api_server) end |
Instance Attribute Details
#access ⇒ Object
19 20 21 |
# File 'lib/groupdocs/api/request.rb', line 19 def access @access end |
#options ⇒ Object
17 18 19 |
# File 'lib/groupdocs/api/request.rb', line 17 def @options end |
#resource ⇒ Object (readonly)
13 14 15 |
# File 'lib/groupdocs/api/request.rb', line 13 def resource @resource end |
#response ⇒ Object
15 16 17 |
# File 'lib/groupdocs/api/request.rb', line 15 def response @response end |
Instance Method Details
#execute! ⇒ Hash, String
Executes API request to server.
It performs the following actions step by step:
* Normalizes path (i.e. replace // with /)
* Parses path (i.e. replaces client ID)
* Prepends path with version if it's set
* URL encodes path
* Signs URL
* Prepare request (add headers, converts payload to JSON, etc.)
* Sends request to server
* Parses response
61 62 63 64 65 66 67 68 69 70 |
# File 'lib/groupdocs/api/request.rb', line 61 def execute! normalize_path parse_path prepend_version url_encode_path sign_url prepare_request send_request parse_response end |