Class: Webhookapp::Tunnel::Requester
- Inherits:
-
Object
- Object
- Webhookapp::Tunnel::Requester
- Defined in:
- lib/webhookapp/tunnel/requester.rb
Defined Under Namespace
Classes: RequestError
Constant Summary collapse
- DEFAULT_REQUEST_SITE =
'https://www.webhookapp.com'- DEFAULT_REQUEST_PATH =
"#{DEFAULT_REQUEST_SITE}/api/tunnels"
Instance Attribute Summary collapse
-
#request_path ⇒ Object
Returns the value of attribute request_path.
Instance Method Summary collapse
-
#initialize(hook_id, client_id, username, password) ⇒ Requester
constructor
A new instance of Requester.
- #request_tunnel ⇒ Object
Constructor Details
#initialize(hook_id, client_id, username, password) ⇒ Requester
Returns a new instance of Requester.
15 16 17 18 19 20 |
# File 'lib/webhookapp/tunnel/requester.rb', line 15 def initialize(hook_id, client_id, username, password) raise ArgumentError, "Hook id cannot be nil" if hook_id.nil? raise ArgumentError, "Client id cannot be nil" if client_id.nil? set_request_details(hook_id, client_id, username, password) end |
Instance Attribute Details
#request_path ⇒ Object
Returns the value of attribute request_path.
13 14 15 |
# File 'lib/webhookapp/tunnel/requester.rb', line 13 def request_path @request_path end |
Instance Method Details
#request_tunnel ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/webhookapp/tunnel/requester.rb', line 22 def request_tunnel uri = URI(@request_path) client = OAuth2::Client.new(@client_id, nil, site: @site, max_redirects: 0, ssl: { verify: @verify_ssl }) headers = { accept: "application/vnd.webhookapp.v#{PROTOCOL_VERSION}+json", 'user-agent' => "WebhookApp Tunnel v#{Webhookapp::VERSION}" } token = client.password.get_token(@username, @password, headers: headers) res = token.post(uri, headers: headers) handle_response(res) end |