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) ⇒ nil
Make a DELETE request to a given URI.
-
#get(path, 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(before_id: nil, limit: nil, path: nil, url: nil) ⇒ json
Make a GET request.
-
#patch(path, data: {}) ⇒ json
Make a PATCH request to a given URI with optional data.
-
#post(path, data: {}) ⇒ json
Make a POST 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 15 16 17 |
# 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) ⇒ nil
Make a DELETE request to a given URI
24 25 26 27 28 |
# File 'lib/ngrokapi/http_client.rb', line 24 def delete(path) uri = get_uri(path) req = Net::HTTP::Delete.new(uri, headers) json_do(uri, req) end |
#get(path, data: {}) ⇒ json
Make a GET request to a given URI with optional data
36 37 38 39 40 |
# File 'lib/ngrokapi/http_client.rb', line 36 def get(path, data: {}) uri = get_uri(path, data: data) req = Net::HTTP::Get.new(uri, headers) json_do(uri, req) end |
#list(before_id: nil, limit: nil, path: nil, url: nil) ⇒ json
Make a GET request
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/ngrokapi/http_client.rb', line 50 def list(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, data: data) end end |
#patch(path, data: {}) ⇒ json
Make a PATCH request to a given URI with optional data
67 68 69 70 71 |
# File 'lib/ngrokapi/http_client.rb', line 67 def patch(path, data: {}) uri = get_uri(path) req = Net::HTTP::Patch.new(uri, headers_with_json) json_do(uri, req, data: data.to_json) end |
#post(path, data: {}) ⇒ json
Make a POST request to a given URI with optional data
79 80 81 82 83 |
# File 'lib/ngrokapi/http_client.rb', line 79 def post(path, data: {}) uri = get_uri(path) req = Net::HTTP::Post.new(uri, headers_with_json) json_do(uri, req, data: data.to_json) end |