module Faraday
This is the main namespace for Faraday
.
It provides methods to create {Connection} objects, and HTTP-related methods to use directly.
@example Helpful class methods for easy usage
Faraday.get "http://faraday.com"
@example Helpful class method ‘.new` to create {Connection} objects.
conn = Faraday.new "http://faraday.com" conn.get '/'
Faraday
namespace.
Constants
- CONTENT_TYPE
- METHODS_WITH_BODY
- METHODS_WITH_QUERY
- VERSION
Attributes
@overload default_adapter
Gets the Symbol key identifying a default Adapter to use for the default {Faraday::Connection}. Defaults to `:net_http`. @return [Symbol] the default adapter
@overload default_adapter
=(adapter)
Updates default adapter while resetting {.default_connection}. @return [Symbol] the new default_adapter.
Option for the default_adapter
@return [Hash] default_adapter options
Documented below, see default_connection
Tells Faraday
to ignore the environment proxy (http_proxy). Defaults to ‘false`. @return [Boolean]
Gets or sets the path that the Faraday
libs are loaded from. @return [String]
The root path that Faraday
is being loaded from.
This is the root from where the libraries are auto-loaded.
@return [String]
Public Class Methods
Documented elsewhere, see default_adapter
reader
# File lib/faraday.rb, line 102 def default_adapter=(adapter) @default_connection = nil @default_adapter = adapter end
@overload default_connection
Gets the default connection used for simple scripts. @return [Faraday::Connection] a connection configured with the default_adapter.
@overload default_connection
=(connection)
@param connection [Faraday::Connection] Sets the default {Faraday::Connection} for simple scripts that access the Faraday constant directly, such as <code>Faraday.get "https://faraday.com"</code>.
# File lib/faraday.rb, line 120 def default_connection @default_connection ||= Connection.new(default_connection_options) end
Gets the default connection options used when calling {Faraday#new}.
@return [Faraday::ConnectionOptions]
# File lib/faraday.rb, line 127 def default_connection_options @default_connection_options ||= ConnectionOptions.new end
Sets the default options used when calling {Faraday#new}.
@param options [Hash, Faraday::ConnectionOptions
]
# File lib/faraday.rb, line 134 def default_connection_options=(options) @default_connection = nil @default_connection_options = ConnectionOptions.from(options) end
Initializes a new {Connection}.
@param url [String,Hash] The optional String base URL to use as a prefix
for all requests. Can also be the options Hash. Any of these values will be set on every request made, unless overridden for a specific request.
@param options [Hash] @option options [String] :url Base URL @option options [Hash] :params Hash of unencoded URI query params. @option options [Hash] :headers Hash of unencoded HTTP headers. @option options [Hash] :request Hash of request options. @option options [Hash] :ssl Hash of SSL options. @option options [Hash] :proxy Hash of Proxy options. @return [Faraday::Connection]
@example With an URL argument
Faraday.new 'http://faraday.com' # => Faraday::Connection to http://faraday.com
@example With an URL argument and an options hash
Faraday.new 'http://faraday.com', params: { page: 1 } # => Faraday::Connection to http://faraday.com?page=1
@example With everything in an options hash
Faraday.new url: 'http://faraday.com', params: { page: 1 } # => Faraday::Connection to http://faraday.com?page=1
# File lib/faraday.rb, line 96 def new(url = nil, options = {}, &block) options = Utils.deep_merge(default_connection_options, options) Faraday::Connection.new(url, options, &block) end
# File lib/faraday.rb, line 107 def respond_to_missing?(symbol, include_private = false) default_connection.respond_to?(symbol, include_private) || super end
Private Class Methods
Internal: Proxies method calls on the Faraday
constant to .default_connection.
# File lib/faraday.rb, line 143 def method_missing(name, *args, &block) if default_connection.respond_to?(name) default_connection.send(name, *args, &block) else super end end