úÎ!6à5     (c) Marek FajkusBSD3marek.faj@gmail.comSafe"# lwai-enforce-https?Representation of Forwarded header data All field are optionalwai-enforce-httpsParse  ByteString¯ to Forwarded header Note that this function works with the values of the header only. Extraction of value from header depends what representation of headers you're using.4In case of Wai you can extract headers as following: Ò:set -XOverloadedStrings import Network.Wai import Network.HTTP.Forwarded getForwarded req = parseForwarded <$> "forwarded" `lookup` requestHeaders req :t getForwarded getForwarded :: Request -> Maybe Forwardedwai-enforce-https Serialize . data type back to ByteString representation.(c) Marek FajkusBSD3marek.faj@gmail.comNone"#4| wai-enforce-httpsWResolvers are function used for testing if Request is made over secure HTTPS protocol.if  is returned from a Resolver< function, request is considered to be secure. In case of ! value, redirect logic is called. wai-enforce-https Configuration s does export constructor which should not collide with any other functions and therefore can be exposed in import Cimport Network.Wai.Middleware.EnforceHTTPS (EnforceHTTPSConfig(..))$Default configuration is recommended? but you're free to override any default value if you need to.Configuration of   can be set using : function which is preferred way for overwriting default Resolver.wai-enforce-https4Default Configuration Default resolver is proxy to  function uses request Host' header information to resolve hostnamestandard HTTPS port 443%redirect includes path and url paramsuses permanent redirect (301)doesn't include port in Location header id port is 443 redirects GET and HEAD methodsall other methods are resolved with 405+ (Method not Allowed) and with appropriate Allowed headerwai-enforce-https Construct  for specific  wai-enforce-https with default configuration. See  for more details.wai-enforce-https#Construct middleware with provided Resolver8 See `Provided Resolvers` section for more information.wai-enforce-httpsResolver checking value of x-forwarded-proto\ HTTP header. This header is for instance used by Heroku or GCP Ingress among many others.(Request is secure if value of header is https3 otherwise request is considered not being secure.wai-enforce-https#Azure is proxying with additional  `x-arr-ssl`] header if original protocol is HTTPS. This resolver checks for the presence of this header.wai-enforce-https9Some reverse proxies (Kong) are using values similar to x-forwarded-proto‚ but are using different headers. This resolver allows you to specify name of header which should be used for the check. Like ?, request is considered as being secure if value of header is https.wai-enforce-httpsLForwarded HTTP header is relatively new standard which should replaced all x-*= adhoc headers by standardized one. This resolver is using  proto=foo1 part of the header and check for equality with https value.!More information can be found on  Chttps://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ForwardedMDN Complete implementation of  Forwarded is located in Network.HTTP.Forwarded module          !" !#$%&.wai-enforce-https-0.0.2-5SkwOQl6nw2F4ZS2bd53ieNetwork.HTTP.Forwarded#Network.Wai.Middleware.EnforceHTTPS Network.WaiisSecure Forwarded forwardedBy forwardedFor forwardedHostforwardedProtoparseForwardedserializeForwarded $fEqForwarded$fShowForwarded HTTPSResolverEnforceHTTPSConfig httpsIsSecure httpsHostname httpsPorthttpsIgnoreURLhttpsTemporaryhttpsSkipDefaultPorthttpsRedirectMethodshttpsDisallowStatus defaultConfig withConfigdef withResolverxForwardedProtoazurecustomProtoHeader forwardedghc-prim GHC.TypesTrueFalse"wai-3.2.2.1-GzzzQ2sQGDDDoiwkgLcIGb Middleware