<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luasocket/test, branch feat/sse</title>
<subtitle>A mirror of https://github.com/lunarmodules/luasocket.git
</subtitle>
<id>https://git.lua4.win/luasocket/atom?h=feat%2Fsse</id>
<link rel='self' href='https://git.lua4.win/luasocket/atom?h=feat%2Fsse'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/'/>
<updated>2026-09-01T05:59:54+00:00</updated>
<entry>
<title>Add SSE sink (socket.sse module)</title>
<updated>2026-09-01T05:59:54+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2026-08-31T20:27:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=cd6b41a13af403d32e08ff416e60982b5cb718dc'/>
<id>urn:sha1:cd6b41a13af403d32e08ff416e60982b5cb718dc</id>
<content type='text'>
Implements SSE by using the replacement body sink. Replaces
the sink with an SSE parser if the response is a text stream.

Example application included
</content>
</entry>
<entry>
<title>Add CI-runnable HTTP test fixture on the testsrvr/testclnt harness</title>
<updated>2026-09-01T05:57:09+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2026-08-31T20:08:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=c5f169ec303a70707bc48fbece9b52cc90a48de0'/>
<id>urn:sha1:c5f169ec303a70707bc48fbece9b52cc90a48de0</id>
<content type='text'>
Drives socket.http.request against fully scripted, controlled raw HTTP
responses over a real socket by reusing the existing testsrvr.lua
remote-execution server -- no Apache, no Docker, no third-party hosts.
Proves the fixture with a plain-GET smoke test, a chunked-transfer-
encoding smoke test, and a test asserting a response body delivered
across separately-timed writes (the incremental-delivery capability the
upcoming SSE tests need). Wires the new test into the CI regression step.

Claude-Session: https://claude.ai/code/session_01SW789SftppghLPVXYbWsGi
</content>
</entry>
<entry>
<title>Merge pull request #472 from lunarmodules/feat/url-hosttype</title>
<updated>2026-08-31T08:08:19+00:00</updated>
<author>
<name>Caleb Maclennan</name>
<email>caleb@alerque.com</email>
</author>
<published>2026-08-31T08:08:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=8e00f02f24d8618fcbff42c93a7ee512f694cc2f'/>
<id>urn:sha1:8e00f02f24d8618fcbff42c93a7ee512f694cc2f</id>
<content type='text'>
feat(url): classify host as name/ipv4/ipv6 in parse and build</content>
</entry>
<entry>
<title>Merge pull request #467 from lunarmodules/fix/http-size-protect</title>
<updated>2026-08-31T08:04:37+00:00</updated>
<author>
<name>Caleb Maclennan</name>
<email>caleb@alerque.com</email>
</author>
<published>2026-08-31T08:04:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=01162f05408ac4206be15842ef91048c63c23869'/>
<id>urn:sha1:01162f05408ac4206be15842ef91048c63c23869</id>
<content type='text'>
Fix/http size protect</content>
</entry>
<entry>
<title>Merge pull request #470 from lunarmodules/header-canon</title>
<updated>2026-08-31T08:03:24+00:00</updated>
<author>
<name>Caleb Maclennan</name>
<email>caleb@alerque.com</email>
</author>
<published>2026-08-31T08:03:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=5afe174eeffc7f3e3b9ef80b5871237620c68415'/>
<id>urn:sha1:5afe174eeffc7f3e3b9ef80b5871237620c68415</id>
<content type='text'>
feat(headers): dynamically create cononicalized headers</content>
</entry>
<entry>
<title>Merge pull request #471 from lunarmodules/fix/zero-read</title>
<updated>2026-08-31T08:00:36+00:00</updated>
<author>
<name>Caleb Maclennan</name>
<email>caleb@alerque.com</email>
</author>
<published>2026-08-31T08:00:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=b836466de5a78e9b4f29ca6c85a2bdecd7c69da9'/>
<id>urn:sha1:b836466de5a78e9b4f29ca6c85a2bdecd7c69da9</id>
<content type='text'>
fix(receive): a receive 0 should immediately return, not block</content>
</entry>
<entry>
<title>chore(test): add 2 tests reusing partial results</title>
<updated>2026-08-31T06:26:32+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2026-08-31T06:26:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=4863f32b358a8d533f629084a86fb4932ebbd2f3'/>
<id>urn:sha1:4863f32b358a8d533f629084a86fb4932ebbd2f3</id>
<content type='text'>
Tests to show the socket isn't left in an undetermined state due
to dataloss, since the partial results are returned to the user.
</content>
</entry>
<entry>
<title>feat(url): classify host as name/ipv4/ipv6 in parse and build</title>
<updated>2026-08-30T13:34:15+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2026-08-30T13:34:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=6fe110be47c0fc34bc9dce6d377ce9b48ab27c2e'/>
<id>urn:sha1:6fe110be47c0fc34bc9dce6d377ce9b48ab27c2e</id>
<content type='text'>
parse() now sets hosttype ("name"/"ipv4"/"ipv6") plus a matching
hostname/ipv4/ipv6 field alongside host. build() accepts those same
fields when host is absent, erroring if more than one is set.

classify_host is exported for standalone use; it classifies by shape
(colon present -&gt; ipv6, dotted-quad shape -&gt; ipv4) rather than
validating the address.
</content>
</entry>
<entry>
<title>fix(udp): receive(0) tests and bad call to getnameinfo</title>
<updated>2026-08-30T11:46:21+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2026-08-30T10:58:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=75d638ac9cc613f39ec4513d3dc2e43a6f909da1'/>
<id>urn:sha1:75d638ac9cc613f39ec4513d3dc2e43a6f909da1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(receive): a receive 0 should immediately return, not block</title>
<updated>2026-08-30T06:46:47+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2026-08-29T17:59:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=e21720da69f2a505bcd1405cc7e8b52d5649df55'/>
<id>urn:sha1:e21720da69f2a505bcd1405cc7e8b52d5649df55</id>
<content type='text'>
The fix is slightly more complex because reading from a closed
socket should still return a closed-error.

fixes: #427
fixes: https://github.com/ledgetech/lua-resty-http/pull/313
</content>
</entry>
</feed>
