Commit Graph

32 Commits

Author SHA1 Message Date
Laurence Withers 984639d475 Finish porting child modules to src.lwithers.me.uk 2020-01-15 18:36:05 +00:00
Laurence Withers 1a37903d98 Add MIT licence file 2020-01-15 18:31:11 +00:00
Laurence Withers 7abc96d537 Moved module to src.lwithers.me.uk 2020-01-15 18:28:43 +00:00
Laurence Withers 280bf2b181 brotli CLI no longer takes --input argument 2019-12-10 15:03:41 +00:00
Laurence Withers 566c23dd7e cmd/packserver: bump to latest version of handler
Adds range support.
2019-10-09 13:06:02 +01:00
Laurence Withers f7cd22f633 Single range support
We now support single part ranges, as per:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests#Single_part_ranges

Multi-part ranges are not implemented because there have been far too
many bugs in this area.

It interacts with compression by selecting a byte range from the
compressed stream. Since the compressed stream is fixed, the results are
consistent.
2019-10-09 13:04:07 +01:00
Laurence Withers 8fc082c4ca cmd/packserver: build against latest mod, go mod tidy 2019-07-17 16:31:43 +01:00
Laurence Withers b7b5dd55d0 Remove stray debug printf 2019-07-17 16:30:20 +01:00
Laurence Withers b6da0b4e48 cmd/htpacker: update dependendencies 2019-06-25 15:32:24 +01:00
Laurence Withers 0883b0b405 cmd/htpacker: workaround for SVG files without XML prolog
If a .svg file doesn't have a “<?xml…” prolog, then it would be detected as plain
text. Allow extension-based override of the content-type in this case.
2019-06-25 15:31:49 +01:00
Laurence Withers 8528a31d54 cmd/packserver: bump htpack dependency 2019-05-28 13:00:02 +01:00
Laurence Withers c2d7bdaa71 handler: fix sendfile to be non-blocking
Having done a bit more research on exactly how to use sendfile()
effectively with Go's own event loop, we can now leave the HTTP socket
in non-blocking mode and correctly integrate with the event loop to wait
for the socket to be writeable once more.
2019-05-28 12:57:59 +01:00
Laurence Withers 97a823d748 packserver: use htpack v1.1.1 2019-05-10 13:22:53 +01:00
Laurence Withers eac79eb605 Set blocking mode on hijacked fds for sendfile 2019-05-10 13:21:22 +01:00
Laurence Withers 21a18eced6 cmd/packserver: use Cache-Control: no-cache
Rather than setting "Cache-Control: no-store", use "no-cache". The
difference is that "no-store" tells the browser that it must always
completely re-fetch the resource; whereas "no-cache" means that the
browser can write the resource to disk but must re-validate it (e.g.
using Etags) before re-using it.
2019-04-25 14:47:13 +01:00
Laurence Withers 246aefbec4 cmd/packserver: add --index-file argument 2019-04-25 14:45:18 +01:00
Laurence Withers be86cbaed3 Handler: add SetIndex
This allows setting an index.html (or equivalent) filename; this means that
we can serve requests to "/foo" with the contents of "/foo/index.html".
2019-04-25 14:17:55 +01:00
Laurence Withers e28f687057 cmd/htpacker, cmd/packserver: update dependencies 2019-04-15 14:19:12 +01:00
Laurence Withers 5328627998 Update dependencies 2019-04-15 14:15:43 +01:00
Laurence Withers 527b361b51 Finish up the initial packserver implementation 2019-04-15 14:10:26 +01:00
Laurence Withers ea77f42dc3 Note a TODO in the README 2019-04-12 09:16:23 +01:00
Laurence Withers e47ed4e4c2 cmd/htpacker now split into its own module 2019-04-12 09:15:28 +01:00
Laurence Withers ce6749f0a3 Workaround for splitting to multiple modules 2019-04-12 09:14:21 +01:00
Laurence Withers fdd1990e89 Reorganise ready to split into modules 2019-04-12 09:07:17 +01:00
Laurence Withers 84ea7c3673 cmd/htpacker: lots more WIP 2019-03-29 09:18:07 +00:00
Laurence Withers feb25bf276 Handler: close TCP conn after Sendfile
Since we hijacked the HTTP connection, we need to close the underlying TCP
connection after calling Sendfile.
2019-03-29 09:17:46 +00:00
Laurence Withers d42094ea72 Handler: call path.Clean first
Cope with things like /foo//bar by calling path.Clean before searching for
path in the map.
2019-03-29 09:17:15 +00:00
Laurence Withers 5c05a75fba Further work; tidying up, begin cmdline tool 2019-03-13 21:55:31 +00:00
Laurence Withers 2a25d80249 Handler implementation
Currently missing range support, but compression and etag processing is
in along with basic header support. Still needs unit tests.
2019-03-08 09:16:38 +00:00
Laurence Withers d836bf3cc7 Further work-in-progress, basic packing and inspecting 2019-03-05 18:41:02 +00:00
Laurence Withers e864d0829e Basic work-in-progress, can pack basic files now 2019-02-24 12:17:57 +00:00
Laurence Withers 0fc26e5414 Initial README 2019-02-23 13:47:59 +00:00