<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luasocket/src, 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>Address PR review: pass raw socket to headers callback, use ok/err return convention</title>
<updated>2026-09-01T05:54:16+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2026-09-01T05:54:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=0a4fa559e44ed3e77f723092feab977539b8aab0'/>
<id>urn:sha1:0a4fa559e44ed3e77f723092feab977539b8aab0</id>
<content type='text'>
Rename response_headers to headers_callback, pass the raw connection as a
4th argument (for use cases like WebSocket upgrade handoff), and switch its
return contract to the idiomatic ok/err shape used elsewhere in this file:
truthy ok continues (optionally swapping in a new sink), falsy ok closes the
connection and propagates the callback's error via socket.protect instead of
faking a success return.

Claude-Session: https://claude.ai/code/session_01S4imKCU4hxDg96DXj9hxSB
</content>
</entry>
<entry>
<title>Add HTTP response headers callback to allow for early abort or different sink depending on response</title>
<updated>2026-08-31T18:00:40+00:00</updated>
<author>
<name>Frans de Jonge</name>
<email>fransdejonge@gmail.com</email>
</author>
<published>2026-08-03T20:48:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=3581b58b9d5c09e3e37b7e20b41205ee3553aaa4'/>
<id>urn:sha1:3581b58b9d5c09e3e37b7e20b41205ee3553aaa4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add Lua 5.5 support (#473)</title>
<updated>2026-08-31T15:21:20+00:00</updated>
<author>
<name>Caleb Maclennan</name>
<email>caleb@alerque.com</email>
</author>
<published>2026-08-31T15:21:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=fa9b35a0cf11bc856cbd8bffbef5ad6fb3e62a93'/>
<id>urn:sha1:fa9b35a0cf11bc856cbd8bffbef5ad6fb3e62a93</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(core): Handle response code 308 permanent redirect</title>
<updated>2026-08-31T08:17:14+00:00</updated>
<author>
<name>Amanda Stjerna</name>
<email>amanda@stjerna.space</email>
</author>
<published>2026-08-31T08:17:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=af10c2ceb0633082d711104e5dac53998d5fe7c9'/>
<id>urn:sha1:af10c2ceb0633082d711104e5dac53998d5fe7c9</id>
<content type='text'>
</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>Merge pull request #463 from lunarmodules/feat/receive-limit</title>
<updated>2026-08-31T07:57:58+00:00</updated>
<author>
<name>Caleb Maclennan</name>
<email>caleb@alerque.com</email>
</author>
<published>2026-08-31T07:57:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=8f18ce95bb38c7f5c4bef5b3684cf1b0df1fc266'/>
<id>urn:sha1:8f18ce95bb38c7f5c4bef5b3684cf1b0df1fc266</id>
<content type='text'>
feat(receive): add maxsize argument to bound memory usage</content>
</entry>
</feed>
