Module: WebPackage
- Defined in:
- lib/web_package/cbor.rb,
lib/web_package/mice.rb,
lib/web_package/signer.rb,
lib/web_package/helpers.rb,
lib/web_package/version.rb,
lib/web_package/settings.rb,
lib/web_package/middleware.rb,
lib/web_package/inner_response.rb,
lib/web_package/configuration_hash.rb,
lib/web_package/signed_http_exchange.rb,
lib/web_package/errors/body_encoding_error.rb
Defined Under Namespace
Modules: Errors, Helpers Classes: CBOR, ConfigurationHash, InnerResponse, MICE, Middleware, SignedHttpExchange, Signer
Constant Summary collapse
- VERSION =
'0.3.0'.freeze
- OPTIONS =
%i[headers expires_in sub_extension filter cert_url cert_path priv_path].freeze
- ENV_KEYS =
Set.new(%w[SXG_CERT_URL SXG_CERT_PATH SXG_PRIV_PATH]).freeze
- DEFAULTS =
{ headers: { 'Content-Type' => 'application/signed-exchange;v=b3', 'Cache-Control' => 'no-transform', 'X-Content-Type-Options' => 'nosniff' }, expires_in: 60 * 60 * 24 * 7, # 7.days sub_extension: nil, # proxy as default format (html) filter: ->(_env) { true } # all requests are permitted }.freeze
- Settings =
ConfigurationHash.new(OPTIONS) do |config, key| env_key = "SXG_#{key.upcase}" config[key] = ENV.fetch env_key if ENV_KEYS.include? env_key end.tap { |config| config.merge! DEFAULTS }
- SXG_EXT =
'.sxg'.freeze
- SXG_FLAG =
'web_package.sxg'.freeze