Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Notice: faraday-stack has been deprecated and its middleware moved to faraday_middleware.
Faraday is an HTTP client lib that provides a common interface over many adapters (such as Net::HTTP) and embraces the concept of Rack middleware when processing the request/response cycle.
“Faraday Stack” is an add-on library that implements several middleware (such as JSON and XML parsers) and helps you build an awesome stack that covers most of your API-consuming needs.
Boring example:
require 'faraday_stack'
response = FaradayStack.get 'http://google.com'
response.headers['content-type'] #=> "text/html; charset=UTF-8"
response.headers['location'] #=> "http://www.google.com/"
puts response.body
Awesome example:
conn = FaradayStack.build 'http://github.com/api/v2'
# JSON resource
resp = conn.get 'json/repos/show/mislav/faraday-stack'
resp.body
#=> {"repository"=>{"language"=>"Ruby", "fork"=>false, ...}}
# XML resource
resp = conn.get 'xml/repos/show/mislav/faraday-stack'
resp.body.class
#=> Nokogiri::XML::Document
# 404
conn.get 'zomg/wrong/url'
#=> raises Faraday::Error::ResourceNotFound
To see how the default stack is built, see "faraday_stack.rb".
encode POST/PUT bodies as JSON:
conn.post(path, payload, :content_type => 'application/json')
add Instrumentation
middleware to instrument requests with ActiveSupport
conn.builder.insert_after Faraday::Response::RaiseError, FaradayStack::Instrumentation
add Caching
middleware to have GET responses cached
conn.builder.insert_before FaradayStack::ResponseJSON, FaradayStack::Caching do
ActiveSupport::Cache::FileStore.new 'tmp/cache',
:namespace => 'faraday', :expires_in => 3600
end
mount Rack::Cache through RackCompatible
middleware for HTTP caching of responses
conn.builder.insert_after FaradayStack::FollowRedirects, FaradayStack::RackCompatible,
Rack::Cache::Context,
:metastore => "file:/var/cache/rack/meta",
:entitystore => "file:/var/cache/rack/body"
FAQs
Unknown package
We found that faraday-stack demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.