class Upfluence::HTTP::Middleware::ApplicationHeaders

Public Class Methods

new(app, handler) click to toggle source
# File lib/upfluence/http/middleware/application_headers.rb, line 5
def initialize(app, handler)
  @app = app
  @headers = handler ? build_headers(handler) : {}
end

Public Instance Methods

call(env) click to toggle source
# File lib/upfluence/http/middleware/application_headers.rb, line 10
def call(env)
  status, header, body = @app.call(env)
  [status, header.merge(@headers), body]
end

Private Instance Methods

build_headers(handler) click to toggle source
# File lib/upfluence/http/middleware/application_headers.rb, line 17
def build_headers(handler)
  {
    'X-Upfluence-Unit-Name' => handler.getName,
    'X-Upfluence-Version'   => build_version(handler.getVersion)
  }
end
build_version(thrift_version) click to toggle source
# File lib/upfluence/http/middleware/application_headers.rb, line 24
def build_version(thrift_version)
  v = thrift_version.semantic_version
  return "v#{v.major}.#{v.minor}.#{v.patch}" if v

  v = thrift_version.git_version
  return "v0.0.0-#{v.commit}" if v

  'undefined'
end