Sha256: e1f9cbf333bb9b9b4cfda4c01ecdd48ecb012d8229f2f4f10e3e24e7a1c75afe

Contents?: true

Size: 493 Bytes

Versions: 2

Compression:

Stored size: 493 Bytes

Contents

require 'rack/time_zone_header/version'
require 'tzinfo'

# Code to parse headers in this format:
# http://tools.ietf.org/html/draft-sharhalakis-httptz-05

module Rack
  class TimeZoneHeader
    def initialize(app)
      @app = app
    end

    def call(env)
      header = env["HTTP_TIME_ZONE"] || env["HTTP_X_TIME_ZONE"] || env["HTTP_TIMEZONE"]
      zone = TZInfo::Timezone.get(header.split(";").last) rescue nil
      env["time.zone"] = zone if zone
      @app.call(env)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rack-time-zone-header-0.1.2 lib/rack/time_zone_header.rb
rack-time-zone-header-0.1.1 lib/rack/time_zone_header.rb