Class: NgrokAPI::HttpClient
- Inherits:
-
Object
- Object
- NgrokAPI::HttpClient
- Defined in:
- lib/ngrokapi/http_client.rb
Overview
Low-level api client for communicating with Ngrok's HTTP API using HTTP. You should not have to use this class directly, but use the individual clients to make your API calls.
Instance Attribute Summary collapse
-
#api_key ⇒ Object
readonly
Returns the value of attribute api_key.
-
#base_url ⇒ Object
readonly
Returns the value of attribute base_url.
Instance Method Summary collapse
-
#delete(path, danger: false) ⇒ nil
Make a DELETE request to a given URI.
-
#get(path, danger: false, data: {}) ⇒ json
Make a GET request to a given URI with optional data.
-
#initialize(api_key:, base_url: 'https://api.ngrok.com') ⇒ HttpClient
constructor
A new instance of HttpClient.
-
#list(danger: false, before_id: nil, limit: nil, path: nil, url: nil) ⇒ json
Make a GET request to list resources.
-
#patch(path, danger: false, data: {}) ⇒ json
Make a PATCH request to a given URI with optional data.
-
#post(path, danger: false, data: {}) ⇒ json
Make a POST request to a given URI with optional data.
-
#put(path, danger: false, data: {}) ⇒ json
Make a PUT request to a given URI with optional data.
Constructor Details
#initialize(api_key:, base_url: 'https://api.ngrok.com') ⇒ HttpClient
Returns a new instance of HttpClient.
11 12 13 14 |
# File 'lib/ngrokapi/http_client.rb', line 11 def initialize(api_key:, base_url: 'https://api.ngrok.com') @api_key = api_key @base_url = base_url end |
Instance Attribute Details
#api_key ⇒ Object (readonly)
Returns the value of attribute api_key.
8 9 10 |
# File 'lib/ngrokapi/http_client.rb', line 8 def api_key @api_key end |
#base_url ⇒ Object (readonly)
Returns the value of attribute base_url.
8 9 10 |
# File 'lib/ngrokapi/http_client.rb', line 8 def base_url @base_url end |
Instance Method Details
#delete(path, danger: false) ⇒ nil
Make a DELETE request to a given URI
22 23 24 25 26 |
# File 'lib/ngrokapi/http_client.rb', line 22 def delete(path, danger: false) uri = get_uri(path) req = Net::HTTP::Delete.new(uri, headers) json_do(uri, req, danger: danger) end |
#get(path, danger: false, data: {}) ⇒ json
Make a GET request to a given URI with optional data
35 36 37 38 39 |
# File 'lib/ngrokapi/http_client.rb', line 35 def get(path, danger: false, data: {}) uri = get_uri(path, data: data) req = Net::HTTP::Get.new(uri, headers) json_do(uri, req, danger: danger) end |
#list(danger: false, before_id: nil, limit: nil, path: nil, url: nil) ⇒ json
Make a GET request to list resources
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/ngrokapi/http_client.rb', line 51 def list(danger: false, before_id: nil, limit: nil, path: nil, url: nil) if url get(url) else data = {} data[:before_id] = before_id if before_id data[:limit] = limit if limit get(path, danger: danger, data: data) end end |
#patch(path, danger: false, data: {}) ⇒ json
Make a PATCH request to a given URI with optional data
69 70 71 72 73 |
# File 'lib/ngrokapi/http_client.rb', line 69 def patch(path, danger: false, data: {}) uri = get_uri(path) req = Net::HTTP::Patch.new(uri, headers_with_json) json_do(uri, req, danger: danger, data: deep_to_h(data).to_json) end |
#post(path, danger: false, data: {}) ⇒ json
Make a POST request to a given URI with optional data
82 83 84 85 86 |
# File 'lib/ngrokapi/http_client.rb', line 82 def post(path, danger: false, data: {}) uri = get_uri(path) req = Net::HTTP::Post.new(uri, headers_with_json) json_do(uri, req, danger: danger, data: deep_to_h(data).to_json) end |
#put(path, danger: false, data: {}) ⇒ json
Make a PUT request to a given URI with optional data
95 96 97 98 99 |
# File 'lib/ngrokapi/http_client.rb', line 95 def put(path, danger: false, data: {}) uri = get_uri(path) req = Net::HTTP::Put.new(uri, headers_with_json) json_do(uri, req, danger: danger, data: deep_to_h(data).to_json) end |