Sha256: 132a362f4b0674f78724dd4a65c7eb32b2dcb9b3f5bbc5382fed000aa12a9343
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
# frozen_string_literal: true require 'rack' module Rack module LinkHeaders # Helper for easy adding link headers to rack responses. module Helper def self.included(base) base.send :include, InstanceMethods end module InstanceMethods # Add a new Link header to response headers. Requires # a URL and a params hash. Does not escape or # sanitize anything. Manual added Link headers will be # overridden. def link(url, params = {}) links << {url: url.to_s, params: params} self['Link'] = links.to_a.map do |link| "<#{link[:url]}>" + link[:params].keys.sort.map do |k| "; #{k}=\"#{link[:params][k]}\"" end.join end.join(', ') end def links @links ||= [] end end end end end Rack::Response.include Rack::LinkHeaders::Helper Rack::Response::Helpers.include Rack::LinkHeaders::Helper if defined?(ActionDispatch::Response) ActionDispatch::Response.include Rack::LinkHeaders::Helper end if defined?(ActionController::TestResponse) ActionController::TestResponse.include Rack::LinkHeaders::Helper end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rack-link_headers-2.4.1 | lib/rack/link_headers/helper.rb |
rack-link_headers-2.4.0 | lib/rack/link_headers/helper.rb |
rack-link_headers-2.3.0 | lib/rack/link_headers/helper.rb |