Module: Swiftype::Connection

Includes:
Request
Included in:
BaseModel, Client, Easy
Defined in:
lib/swiftype/connection.rb

Defined Under Namespace

Classes: ApiResponseMiddleware

Instance Method Summary collapse

Methods included from Request

#delete, #get, #post, #put

Instance Method Details

#connectionObject

Raises:



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/swiftype/connection.rb', line 5

def connection
  raise(InvalidCredentials, "You must supply credentials to Swiftype.configure") unless (Swiftype.username && Swiftype.password ) || Swiftype.api_key

  @connection ||= begin
    conn = Faraday.new(Swiftype.endpoint) do |b|
      b.response :raise_error
      b.use Faraday::Request::UrlEncoded
      b.use FaradayMiddleware::ParseJson
      b.use FaradayMiddleware::Mashify
      b.use ApiResponseMiddleware
      b.adapter Faraday.default_adapter
    end

    conn.basic_auth Swiftype.username, Swiftype.password if Swiftype.username && Swiftype.password
    conn.headers['User-Agent'] = Swiftype.user_agent

    conn
  end
end