https-everywhere-rules: High-level access to HTTPS Everywhere rulesets.

[ data, library, mit ] [ Propose Tags ]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1, 0.0.2, 0.1.0
Dependencies attoparsec (>=0.12 && <0.13), base (>=4.7 && <4.8), errors (>=1.4 && <1.5), functor-infix (>=0.0 && <0.1), http-client (>=0.3 && <0.4), https-everywhere-rules-raw, lens (>=4.3 && <4.4), network (>=2.5 && <2.6), pipes (>=4.1 && <4.2), string-conversions (>=0.3 && <0.4), taggy-lens (>=0.1 && <0.2), text (>=1.1 && <1.2), text-icu (>=0.6 && <0.8) [details]
License MIT
Author vi
Maintainer vi@zalora.com
Category Data
Home page https://github.com/fmap/https-everywhere-rules
Uploaded by vi at 2014-08-24T17:26:55Z
Distributions NixOS:0.1.0
Downloads 2473 total (22 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for https-everywhere-rules-0.1.0

[back to package description]

https-everywhere-rules

Haskell package providing high-level access to HTTPS Everywhere rulesets. This makes it easier to tell other programs: "I'd like if you used 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}]

Rules are provided via https-everywhere-rules-raw, which is versioned consistently with upstream releases. Thus, the version of the rule database used here is configurable via the installed version of that package.