From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id A59781F55A; Fri, 21 Feb 2020 02:32:37 +0000 (UTC) Date: Fri, 21 Feb 2020 02:32:37 +0000 From: Eric Wong To: kcar-public@yhbt.net Subject: [ANN] kcar 0.7.0 - bytestream to Rack response converter Message-ID: <20200221023237.GA5598@dcvr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline List-Id: kcar features an HTTP parser that will convert a bytestream into a 3-element array suitable for use as a Rack response. It is IO interface agnostic, so it may be used with HTTP streams over Unix domain sockets, regular files, FIFOs, StringIOs as well as traditional TCP sockets. * homepage: https://yhbt.net/kcar/ * public inbox: kcar-public@yhbt.net * git clone https://yhbt.net/kcar.git * mailing list archives: https://yhbt.net/kcar-public/ Changes: 46 changes since 0.6.0 (2015-08-04): README: fix reference to HTTP git viewer doc: move site to HTTPS pkg.mk: avoid network for "gem install" gemspec: use SPDX compatible terms for the license(s) archive/slrnpull.conf: add a note explaining the purpose drop rb_str_set_len compatibility replacement remove rb_str_modify workaround TypedData C-API conversion test_parser: add lone CR test reduce parser size to 88 bytes on 64-bit extconf: remove unneeded -fPIC CFLAGS rely on String#-@ (str_uminus) to dedupe headers update comment about freezing values http: reject non-LWS CTL chars (0..31 + 127) in field values doc: remove references to a server update documentation for contributions, remove private address doc: minor updates to describe classes, better response: remove unnecessary constant alias response: more documentation cleanups favor require_relative to speed up loading response: remove Ruby 1.8-compatibility check fix signedness check on 32-bit systems shorten and improve readability of assertion HACKING: remove copy+pasted line about N olddoc: include NNTP archive link gemspec: remove olddoc dev dependency README: add info about mailing list subscription nodoc Kcar::VERSION pkg.mk: support VALGRIND variable for unit tests introduce new str_new_dd_freeze internal function begin implementing request parsing favor bitfields instead flags + macros implement request parsing with tests pkg.mk: enable warnings by default for tests filter_body: rename variables to be like memcpy(3) flesh out filter_body for request parsing do not assume SERVER_PORT do not set "HTTP/0.9" for pre-1.0 requests always set non-negative Content-Length for requests avoid String#-@ call on request parsing under Ruby 2.6 request: set env["FRAGMENT"] for WebDAV litmus test extconf: fix rb_hash_aset deduplication test use rb_gc_register_mark_object website: use dark216 to save electricity doc: update URLs to point to YHBT.net doc: update git:// URLs to HTTPS