about summary refs log tree commit homepage
path: root/lib/yahns.rb
DateCommit message (Collapse)
2016-09-26move website to https://yhbt.net/yahns/
HTTPS adds some level of privacy protection and helps marketing (because we care soooo much about good marketing! :P). Performance-wise, this reduces subjectAltName bloat when negotiating connections and will also speed up occasional certificate renewals when/if we drop the old name. Also, not occupying the document root of a domain will make it easier to add alternative site locations in the future, because centralization sucks and I don't like the idea of anybody paying ICANN or similar entities for domain names.
2016-01-02copyright updates for 2016
Using the 'update-copyright' script from gnulib[1]: git ls-files | UPDATE_COPYRIGHT_HOLDER='all contributors' \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ xargs /path/to/gnulib/build-aux/update-copyright We're also switching to 'GPL-3.0+' as recommended by SPDX to be consistent with our gemspec and other metadata (as opposed to the longer but equivalent "GPLv3 or later"). [1] git://git.savannah.gnu.org/gnulib.git
2016-01-02enable frozen_string_literal for Ruby 2.3+
There are likely yet-to-be-discovered bugs in here. Also, keeping explicit #freeze calls for 2.2 users, since most users have not migrated to 2.3, yet.
2015-12-15nodoc internals
We do not expose any sort of API beyond what's in the config file manpage to our users. Do not mislead them into thinking we currently have a stable API (though I'm considering one). This avoids wasting disk space and installation time for users who do not have a: "gem: --no-ri --no-rdoc" line in their ~/.gemrc
2015-10-13copyright updates
Future updates may use the update-copyright script in gnulib: git ls-files | UPDATE_COPYRIGHT_HOLDER='all contributors' \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ xargs /path/to/gnulib/build-aux/update-copyright
2015-02-10favor Class.new for method-less classes
This saves over 400 bytes on x86-64.
2015-02-05use the monotonic clock under Ruby 2.1+
The monotonic clock is immune to time adjustments so it is not thrown off by misconfigured clocks. Process.clock_gettime also generates less garbage on 64-bit systems due to the use of Flonum.
2015-02-05fix compatibility with unicorn.git
Install workarounds for running with unreleased versions of unicorn for now, as unicorn 5.x will be dropping many needless features.
2014-03-15minor style fix for consistency
We favor foo(&:bar) when possible for conciseness.
2014-02-08implement kqueue and sendfile compatibility support
Tested on Debian GNU/kFreeBSD (sid): make check SENDFILE_BROKEN=1
2014-02-04load yahns/version file
We need this for "yahns --version" on the command line
2013-11-01enable client expiry for non-TCP sockets
It's conceivable a sub-optimally configured instance can have too many Unix sockets connected to us. This also implements expiry for systems without sufficient "struct tcp_info" support.
2013-10-31yahns-rackup launcher
This should make it easier for Rack users to get started with yahns.
2013-10-29implement client_timeout for streaming inputs
We may also return HTTP 408 errors in this case.
2013-10-18remove unused unicorn constants to hopefully trim memory
We'll probably drop the unicorn dependency in the future and use kcar once it gains the ability to parse server requests (and not just responses). kcar is descended from the unicorn parser anyways and supports the same enhancements (chunked encoding/trailers).
2013-10-18initial commit