Class: ArcApi::Client
- Inherits:
-
Footrest::Client
- Object
- Footrest::Client
- ArcApi::Client
- Includes:
- HealthCheck, Media
- Defined in:
- lib/arc_api/client.rb,
lib/arc_api/client/media.rb,
lib/arc_api/client/health_check.rb
Defined Under Namespace
Modules: HealthCheck, Media
Constant Summary collapse
- API_PATH =
'/api/public/v1'.freeze
- MEDIA_PATH =
'/media'.freeze
- UPLOADS_PATH =
'/uploads'.freeze
- COMPLETE_PATH =
'/complete'.freeze
- HEALTH_CHECK_PATH =
'/ping'.freeze
Instance Method Summary collapse
Methods included from HealthCheck
Methods included from Media
#complete_media_upload, #create_media, #initiate_media_upload, #upload_file
Instance Method Details
#set_connection(config) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/arc_api/client.rb', line 16 def set_connection(config) config[:logger] = config[:logging] if config[:logging] raise 'No client prefix url provided - must provide prefix' if config[:prefix].nil? || config[:prefix].empty? @connection = Faraday.new(url: config[:prefix]) do |faraday| faraday.use Footrest::FollowRedirects, limit: 5 unless config[:follow_redirects] == false faraday.use Footrest::ParseJson, content_type: /\bjson$/ faraday.use Footrest::RaiseFootrestErrors faraday.use Footrest::Pagination faraday.request :multipart faraday.request :url_encoded faraday.adapter Faraday.default_adapter if config[:logger] == true faraday.response :logger elsif config[:logger] faraday.use Faraday::Response::Logger, config[:logger] end faraday.headers[:accept] = 'application/json' faraday.headers[:user_agent] = 'Footrest' if config[:token] && config[:user_id] faraday.headers[:authorization] = "Bearer user_id=\"#{config[:user_id]}\", token=\"#{config[:token]}\"" else raise 'No api authorization provided - must provide token and user_id' end end end |