High-level access to HTTPS Everywhere rulesets.
Go to file
vi c26afe01cf Don't admit package-wise parameterisation of rulesets.
As 'a6f28e07a1edc8f62f3dfaf7965b3a818c2f4a7f' showed, there may be
breaking changes in the structure of rulesets between releases. I
don't intend to verify that every pair in the product works (is there
reason to be interested in any other than the latest?), so let's not
acommodate any more than one.
2015-11-08 00:53:35 +08:00
examples Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
ref Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
src/Data Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
test Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
vendor Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
.gitignore Stack, AMP. 2015-11-04 23:15:07 +08:00
.gitmodules Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
DEBT.md Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
LICENSE Incomplete parser for HTTPS Everywhere rulesets. 2014-08-10 04:23:41 +08:00
README.md Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
Setup.hs Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
default.nix Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
https-everywhere-rules.cabal Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00
stack.yaml Don't admit package-wise parameterisation of rulesets. 2015-11-08 00:53:35 +08:00

README.md

https-everywhere-rules

Haskell package providing high-level access to HTTPS Everywhere rulesets. It aims to make it easier to specify: "use secure HTTP connections when possible."

λ: :m + Data.HTTPSEverywhere.Rules Network.URI
λ: let Just eff = parseURI "http://www.eff.org/document/eff-and-aclu-amicus-brief-klayman"
λ: rewriteURL eff
https://www.eff.org/document/eff-and-aclu-amicus-brief-klayman
λ: :m + Network.HTTP.Client Network.HTTP.Client.TLS Control.Applicative Control.Lens
λ: (req, hub) <- (,) <*> getUri <$> parseUrl "https://github.com/fmap/https-everywhere-rules"
λ: newManager tlsManagerSettings >>= httpNoBody req <&> destroyCookieJar . responseCookieJar >>= mapM (rewriteCookie hub)
[Cookie {cookie_name = "_gh_sess", cookie_value = "eyJzZXNzaW9uX2lkIjoiNjBlM2FiOTIxNTdhZTNhNDE5YWQ0ZTk4ZWQzNDRjMjEiLCJzcHlfcmVwbyI6ImZtYXAvaHR0cHMtZXZlcnl3aGVyZS1ydWxlcyIsInNweV9yZXBvX2F0IjoxNDA4ODk2OTM2LCJfY3NyZl90b2tlbiI6IktkbTlwN2JqNGptVmhrYjFIUm9BbkV0a1JTQXRDUXJid2g4VWo4N1g0Q1U9In0%3D--d378daa262b8c12bb82246d5de6b3adc353a3db7", cookie_expiry_time = 3013-12-25 00:00:00 UTC, cookie_domain = "github.com", cookie_path = "/", cookie_creation_time = 2014-08-24 16:15:37.815144 UTC, cookie_last_access_time = 2014-08-24 16:15:37.815144 UTC, cookie_persistent = False, cookie_host_only = True, cookie_secure_only = True, cookie_http_only = True},Cookie {cookie_name = "logged_in", cookie_value = "no", cookie_expiry_time = 2034-08-24 16:15:36 UTC, cookie_domain = "github.com", cookie_path = "/", cookie_creation_time = 2014-08-24 16:15:37.815144 UTC, cookie_last_access_time = 2014-08-24 16:15:37.815144 UTC, cookie_persistent = True, cookie_host_only = False, cookie_secure_only = True, cookie_http_only = True}]