class Acfs::Middleware::Serializer
A base middleware that does not modify request or response. Can be used as super class for custom middleware implementations.
Public Instance Methods
call(request)
click to toggle source
# File lib/acfs/middleware/serializer.rb, line 21 def call(request) unless request.headers['Content-Type'] request.body = encode request.data request.headers['Content-Type'] = mime end accept = request.headers['Accept'].to_s.split(',') accept << "#{mime};q=#{options.fetch(:q, 1)}" request.headers['Accept'] = accept.join(',') request.on_complete do |response, nxt| response.data = decode(response.body) if mime == response.content_type nxt.call response end app.call(request) end
decode(_data)
click to toggle source
# File lib/acfs/middleware/serializer.rb, line 13 def decode(_data) raise NotImplementedError end
encode(_data)
click to toggle source
# File lib/acfs/middleware/serializer.rb, line 9 def encode(_data) raise NotImplementedError end
mime()
click to toggle source
# File lib/acfs/middleware/serializer.rb, line 17 def mime raise NotImplementedError end