about summary refs log tree commit homepage
path: root/examples/public-inbox.psgi
DateCommit message (Collapse)
2021-01-01update copyrights for 2021
Using "make update-copyrights" after setting GNULIB_PATH in my config.mak
2020-07-06stop auto-loading Plack::Middleware::Deflater
Instead of gzipping some (mbox.gz, manifest.js.gz) responses and leaving P::M::D to do the rest, we gzip everything ourselves, now, so P::M::D is redundant.
2020-03-21examples/*.psgi: add examples for -httpd
public-inbox-httpd should work with any PSGI files, so make it more apparent to people reading .psgi examples.
2020-02-06treewide: run update-copyrights from gnulib for 2019
I didn't wait until September to do it, this year!
2019-09-09run update-copyrights from gnulib for 2019
2019-05-14httpd: get rid of Deflater warning
Deflating responses may be done by the reverse proxy (e.g. varnish or nginx), so the warning for it could be invalid.
2019-01-20www: admin-configurable CSS via "publicinbox.css"
Maybe we'll default to a dark theme to promote energy savings... See contrib/css/README for details
2018-02-07update copyrights for 2018
Using update-copyrights from gnulib While we're at it, use the SPDX identifier for AGPL-3.0+ to ease mechanical processing.
2016-12-25githttpbackend: simplify compatibility code
Fewer conditionals means theres fewer code paths to test and makes things easier-to-read.
2016-07-03examples: remove X-Forwarded-For mentions
We don't need to care about client IPs anywhere.
2016-07-01git: allow cloning from the URL root, too
This means we can still show non-git users a somewhat browseable URL with a link to the README.html file while allowing git users to type less when cloning. All of the following are supported: git clone https://public-inbox.org/ public-inbox git clone https://public-inbox.org/public-inbox git clone https://public-inbox.org/public-inbox.git torsocks git clone http://ou63pmih66umazou.onion/public-inbox
2016-07-01update git repo location to https:// using GitHTTPBackend.pm
Might as well eat our own dogfood...
2016-05-23http: chunk in the server, not middleware
Since PSGI does not require Transfer-Encoding: chunked or Content-Length, we cannot expect random apps we host to chunk their responses. Thus, to improve interoperability, chunk at the HTTP layer like other PSGI servers do. I'm chosing a more syscall-intensive method (via multiple send(...MSG_MORE) for now to reduce copy + packet overhead.
2016-04-06examples/public-inbox.psgi: add note for our httpd
Default to maximizing compatibility in the example, but document the potential improvement if possible. Of course, using public-inbox-httpd out-of-the-box without a user-specified config file already enables chunked encoding by default.
2016-03-12examples: disable Chunked response in PSGI example
It seems incompatible with Starman and probably confuses other HTTP/1.0-only servers, too. Our -httpd will respect it and requires it for persistent connections.
2016-02-29fixup Plack-related requires
We do not need to load Plack::Request outside of WWW anymore.
2016-02-28examples/public-inbox.psgi: relax license to GPL-3.0+
Using the AGPL for server config files is probably overkill. GPL-3.0+ still requires appliance vendors to disclose configurations which seems desirable for end users.
2016-02-28examples/: PSGI example updates
Users wanting to customize their installation should know to about the usability of STDOUT for logging. (and we still need manpages for -nntpd and -httpd)
2016-02-28httpd: allow running if ReverseProxy is missing
Not everybody will be running this behind a ReverseProxy; but it's probably the likely configuration. Anyways, warn about this and also about Deflater being missing.
2016-02-26psgi: enable ReverseProxy middleware by default
ReverseProxy is the common way to run Perl applications, so enable it by default and don't care too much about fake requests because we don't handle any sensitive information or rely on authentication (everything is read-only from the WWW interface and will remain so).
2016-02-25www: make interface more OO
This allows multiple instances the WWW app from running within the same process space
2016-02-13examples/public-inbox.psgi: document ReverseProxy
Running behind a ReverseProxy is a popular deployment, so document it for users.
2016-01-03examples/public-inbox.psgi: shorten to simplify
Enable deflater using a shorter string as we do with other middlewares, and use single quotes to denote we do not need interpolation.
2015-12-25examples/public-inbox.psgi: make output chunky by default
HTTP/1.1 clients will want persistent connections and need to know response terminations.
2015-09-11examples/public-inbox.psgi: optional deflater
The deflater middleware isn't standard Plack, so don't require potential users install it.
2015-09-06update copyright headers and email addresses
In the future, it should be possible to use this: git ls-files | UPDATE_COPYRIGHT_HOLDER='all contributors' \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ xargs /path/to/gnulib/build-aux/update-copyright
2015-09-03examples/public-inbox.psgi: update with middlewares
HTML, text, and probably Atom feeds should be compressed.
2014-10-26examples/public-inbox.psgi: add usage to comments
I often forget how to run this
2014-05-01split out WWW package and CGI/PSGI-specific parts
This should allow us to more-easily test with Plack.