module BWAPI::Request
Request
module
Public Instance Methods
Private Instance Methods
Checks if a request options has a given key Deletes the key if it is present
@param opts [Hash] Request
parameters @param key [Symbol] The key to check for
# File lib/bwapi/request.rb, line 116 def key?(opts, key) return false unless opts.is_a?(Hash) && opts.key?(key) opts.delete(key) end
Perform a request
@param method [String] Type of request @param path [String] URL path to send request @param opts [Hash] Request
parameters @return [Hash] Response
# File lib/bwapi/request.rb, line 59 def request(method, path, opts = {}) connection.send(method) do |req| case method when :get path = request_extension(path, opts) request_url(req, path, opts) when :delete request_url(req, path, opts) when :patch, :post, :put request_body(req, path, opts) end end end
Configures body request unless force_urlencoded key is passed
@param req [Object] the request object @param path [String] URL path to send request @param opts [Hash] Request
parameters
# File lib/bwapi/request.rb, line 102 def request_body(req, path, opts) if key?(opts, :force_urlencoded) req.url path, opts else req.path = path req.body = opts end end
Appends the request extension to the path
@param path [String] URL path to send request @param opts [Hash] Request
parameters @return [String] path appended with request extension
# File lib/bwapi/request.rb, line 78 def request_extension(path, opts) extension = key?(opts, :request_extension) extension ? [path, extension].join('.') : path end
Configures url encoded request unless force_body key is passed
@param req [Object] the request object @param path [String] URL path to send request @param opts [Hash] Request
parameters
# File lib/bwapi/request.rb, line 88 def request_url(req, path, opts) if key?(opts, :force_body) req.path = path req.body = opts else req.url path, opts end end