Sha256: f0ec6f75f592d1b18baa1c0bcd385248f69178a4cbdcff7071e769688c5e8bc5
Contents?: true
Size: 833 Bytes
Versions: 2
Compression:
Stored size: 833 Bytes
Contents
require 'rack' require 'sidekiq/hierarchy/http' module Sidekiq module Hierarchy module Rack class Middleware # transform from http header to rack names JID_HEADER_KEY = "HTTP_#{Sidekiq::Hierarchy::Http::JID_HEADER.upcase.gsub('-','_')}".freeze WORKFLOW_HEADER_KEY = "HTTP_#{Sidekiq::Hierarchy::Http::WORKFLOW_HEADER.upcase.gsub('-','_')}".freeze def initialize(app) @app = app end def call(env) Sidekiq::Hierarchy.current_jid = env[JID_HEADER_KEY] Sidekiq::Hierarchy.current_workflow = Workflow.find_by_jid(env[WORKFLOW_HEADER_KEY]) if env[WORKFLOW_HEADER_KEY] @app.call(env) ensure Sidekiq::Hierarchy.current_workflow = nil Sidekiq::Hierarchy.current_jid = nil end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sidekiq-hierarchy-0.1.2 | lib/sidekiq/hierarchy/rack/middleware.rb |
sidekiq-hierarchy-0.1.1 | lib/sidekiq/hierarchy/rack/middleware.rb |