Module: Songkick::Transport
- Defined in:
- lib/songkick/transport.rb,
lib/songkick/transport/base.rb,
lib/songkick/transport/curb.rb,
lib/songkick/transport/headers.rb,
lib/songkick/transport/request.rb,
lib/songkick/transport/service.rb,
lib/songkick/transport/httparty.rb,
lib/songkick/transport/response.rb,
lib/songkick/transport/rack_test.rb,
lib/songkick/transport/reporting.rb,
lib/songkick/transport/http_error.rb,
lib/songkick/transport/serialization.rb,
lib/songkick/transport/upstream_error.rb,
lib/songkick/transport/header_decorator.rb,
lib/songkick/transport/timeout_decorator.rb
Defined Under Namespace
Modules: Reporting, Serialization
Classes: Base, ConnectionFailedError, Curb, HeaderDecorator, Headers, HostResolutionError, HttParty, HttpError, InvalidJSONError, RackTest, Request, Response, Service, TimeoutDecorator, TimeoutError, UpstreamError
Constant Summary
collapse
- DEFAULT_TIMEOUT =
5
- DEFAULT_FORMAT =
:json
- DEFAULT_USER_ERROR_CODES =
[409]
- HTTP_VERBS =
%w[options head get patch post put delete]
- USE_BODY =
%w[post put]
- FORM_ENCODING =
'application/x-www-form-urlencoded'
- ROOT =
File.expand_path('..', __FILE__)
- IO =
UploadIO
Class Method Summary
collapse
Class Method Details
.io(object) ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/songkick/transport.rb', line 56
def self.io(object)
if Hash === object and [:tempfile, :type, :filename].all? { |k| object.has_key? k } Transport::IO.new(object[:tempfile], object[:type], object[:filename])
elsif object.respond_to?(:content_type) and object.respond_to?(:original_filename) Transport::IO.new(object, object.content_type, object.original_filename)
else
raise ArgumentError, "Could not generate a Transport::IO from #{object.inspect}"
end
end
|
.logger ⇒ Object
68
69
70
71
72
73
|
# File 'lib/songkick/transport.rb', line 68
def self.logger
@logger ||= begin
require 'logger'
Logger.new(STDOUT)
end
end
|
.logger=(logger) ⇒ Object
75
76
77
|
# File 'lib/songkick/transport.rb', line 75
def self.logger=(logger)
@logger = logger
end
|
.parser_for(content_type) ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/songkick/transport.rb', line 44
def self.parser_for(content_type)
parser = @parsers && @parsers[content_type]
unless parser
raise TypeError, "Could not find a parser for content-type: #{content_type}"
end
parser
end
|
.register_parser(content_type, parser) ⇒ Object
39
40
41
42
|
# File 'lib/songkick/transport.rb', line 39
def self.register_parser(content_type, parser)
@parsers ||= {}
@parsers[content_type] = parser
end
|
.report ⇒ Object
87
88
89
|
# File 'lib/songkick/transport.rb', line 87
def self.report
Reporting.report
end
|
.sanitize(*params) ⇒ Object
91
92
93
|
# File 'lib/songkick/transport.rb', line 91
def self.sanitize(*params)
sanitized_params.concat(params)
end
|
.sanitized_params ⇒ Object
95
96
97
|
# File 'lib/songkick/transport.rb', line 95
def self.sanitized_params
@sanitized_params ||= []
end
|
.verbose=(verbose) ⇒ Object
79
80
81
|
# File 'lib/songkick/transport.rb', line 79
def self.verbose=(verbose)
@verbose = verbose
end
|
.verbose? ⇒ Boolean
83
84
85
|
# File 'lib/songkick/transport.rb', line 83
def self.verbose?
@verbose
end
|