Module: Backend::ConnectionHelper
- Included in:
- Api::Build::Project, Api::BuildResults::Binaries, Api::BuildResults::Status, Api::BuildResults::Worker, Api::Cloud, Api::IssueTrackers, Api::Published, Api::Request, Api::Search, Api::Server, Api::Sources::Package, Api::Sources::Project
- Defined in:
- connection_helper.rb
Overview
Module that holds the wrapping methods for http requests, are mainly used for simplify the calculation of urls.
The methods http_get, http_put, http_post and http_delete always will return the body of the response encoded in UTF-8.
Parameters
All the methods need a valid endpoint
to connect to, and it
can be provided in two different ways:
-
As a single string. No processing is performed.
-
As an array. In this case the first element needs to be a string with placeholders that will be replaced in the order provided starting with the second element of the array. The placeholders have the same style as ruby symbols.
http_get(["/build/:project/:package/_result", "Apache", "apache2"]) # => HTTP GET "/build/Apache/apache2/_result"
The options
hash is used for providing the params and other
options available.
:params
-
Hash with the parameters to be sent as part of the query in the url.
http_get("/source/Apache/_meta", params: { revision: 42 })
# => HTTP GET "/source/Apache/_meta?revision=42"
:defaults
-
Hash with the default parameters values that will be merged with
options[:params]
.
http_get("/source/Apache", defaults: { cmd: :copy, revision: 1 }, params: { revision: 42, target: Nginx })
# => HTTP GET "/source/Apache?cmd=copy&revision=42&target=Nginx"
:rename
-
Hash with the pairs of params keys to rename before converting the url.
http_get("/source/Apache/_meta", params: { revision: 42 }, rename: { revision: :rev})
# => HTTP GET "/source/Apache/_meta?rev=42"
:accepted
-
Array with the whitelist of keys for the params.
http_get("/source/Apache/_meta", params: { revision: 42, fake: 2 }, accepted: [:revision, :comment])
# => HTTP GET "/source/Apache/_meta?revision=42"
:expand
-
Array of keys to expand using the same name (no [] are used).
http_get("/source/Apache/_meta", params: { revision: 42, package: ['pack1', 'pack2'] }, expand: [:package])
# => HTTP GET "/source/Apache/_meta?revision=42&package=pack1&package=pack2"
:data
-
In the case of
put
orpost
requests is the data that will be sent. :headers
-
Hash with the headers that will be added to the request.