Module: Hurley

Extended by:
Forwardable
Defined in:
lib/hurley/multipart.rb,
lib/hurley.rb,
lib/hurley/url.rb,
lib/hurley/test.rb,
lib/hurley/query.rb,
lib/hurley/client.rb,
lib/hurley/header.rb,
lib/hurley/options.rb,
lib/hurley/connection.rb,
lib/hurley/addressable.rb,
lib/hurley/test/server.rb,
lib/hurley/test/integration.rb

Overview

Taken from multipart-post gem: https://github.com/nicksieger/multipart-post Removes coupling with net/http

Defined Under Namespace

Modules: Live, Multipart Classes: BodyReceiver, Client, ClientError, CompositeReadIO, Connection, ConnectionFailed, Error, Header, NamedCallback, ParsingError, Query, Request, RequestOptions, ResourceNotFound, Response, SSLError, SocketBinding, SslOptions, Test, Timeout, UploadIO, Url

Constant Summary collapse

VERSION =
"0.2".freeze
USER_AGENT =
"Hurley v#{VERSION}".freeze
LIB_PATH =
__FILE__[0...-3]
MUTEX =
Mutex.new
HTTPS =
"https".freeze

Class Method Summary collapse

Class Method Details

.default_clientObject



16
17
18
19
20
# File 'lib/hurley.rb', line 16

def self.default_client
  mutex do
    @default_client ||= Client.new
  end
end

.default_connectionObject



35
36
37
38
39
40
41
42
# File 'lib/hurley.rb', line 35

def self.default_connection
  mutex do
    @default_connection ||= begin
      Hurley.require_lib "connection"
      Connection.new
    end
  end
end

.mutexObject



44
45
46
# File 'lib/hurley.rb', line 44

def self.mutex
  MUTEX.synchronize(&Proc.new)
end

.require_lib(*libs) ⇒ Object



10
11
12
13
14
# File 'lib/hurley.rb', line 10

def self.require_lib(*libs)
  libs.each do |lib|
    require File.join(LIB_PATH, lib)
  end
end