Commit Graph

4 Commits (master)

Author SHA1 Message Date
vi 00d2341394 Tighten some loops, change more interface.
This will save.. five comparisons.. occasionally? But it's a more
transparent design, and it seems more charitable to group interface
changes together.
2017-12-11 05:52:40 +01:00
vi c8fa18c5f4 rewrite(URL|Cookie) are now pure.
They have been pure since ed1933f, but now the types reflect that.

Breaking interface change.
2017-12-11 05:13:59 +01:00
vi ed1933f2c5 Remove the IO bottleneck.
Don't redundantly readIO/parse the rulesets; do this once, lazily
carrying out the involved operations. Rulesets are invariant over
executions.

This improves performance by a few orders of magnitude. Though at some
point we should substitute linear search for lookup on a generalised
suffix tree of rooted domains.

Breaking interface change, though I'll likely restore the old form
soon with IO TH.
2017-12-06 13:21:57 +01:00
vi 1b46c03817 Added an example program; a HTTP proxy server redirecting to HTTPS when possible. 2015-11-07 18:14:19 +08:00