<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luasocket/src/http.lua, 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:54:16+00:00</updated>
<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>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>fix(http): bracket IPv6 host in Host header</title>
<updated>2026-08-30T13:41:46+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2026-08-30T13:41:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=630a3b7f4fb0c786170e3903175e964bbc1bc77f'/>
<id>urn:sha1:630a3b7f4fb0c786170e3903175e964bbc1bc77f</id>
<content type='text'>
The Host header must wrap an IPv6 literal in brackets (RFC 7230), but
adjustheaders() used reqt.host as-is, which is unbracketed after
url.parse(). Use url.classify_host() to detect IPv6 and bracket it,
handling an already-bracketed input without doubling the brackets.

Closes #445
</content>
</entry>
<entry>
<title>feat(http/ftp/smtp): implement max size checks</title>
<updated>2026-08-29T15:42:13+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs.schreijer@bookingexperts.com</email>
</author>
<published>2026-08-10T15:11:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=c84e79f6d1ae735bfa191694ec6a62eb8231166d'/>
<id>urn:sha1:c84e79f6d1ae735bfa191694ec6a62eb8231166d</id>
<content type='text'>
fixes unbounded reads when using the "*l" pattern. Typically on
headers and other control lines.
</content>
</entry>
<entry>
<title>refactor(receive): make implicit line reads explicit</title>
<updated>2026-08-29T15:42:13+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs.schreijer@bookingexperts.com</email>
</author>
<published>2026-08-10T13:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=52f9f91d91aa33a1483334f69073f3e6250cd168'/>
<id>urn:sha1:52f9f91d91aa33a1483334f69073f3e6250cd168</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(http): Correct typos in error message and code comments (#423)</title>
<updated>2024-02-12T08:28:01+00:00</updated>
<author>
<name>Alexandre Detiste</name>
<email>alexandre.detiste@gmail.com</email>
</author>
<published>2024-02-12T08:28:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=98be8d9fc1de19ec526cf7bee0d03a1e78262ba8'/>
<id>urn:sha1:98be8d9fc1de19ec526cf7bee0d03a1e78262ba8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(http): Use the right protocol for proxies (#386)</title>
<updated>2023-11-23T05:01:29+00:00</updated>
<author>
<name>Max1Truc</name>
<email>26603929+Max1Truc@users.noreply.github.com</email>
</author>
<published>2023-11-23T05:01:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=fa69770e52ba869feb8339d49e7c3c536953fbde'/>
<id>urn:sha1:fa69770e52ba869feb8339d49e7c3c536953fbde</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(http): Correct receiveheaders() handling of folded values (#420)</title>
<updated>2023-11-13T20:33:26+00:00</updated>
<author>
<name>_AMD_</name>
<email>amd@default.im</email>
</author>
<published>2023-11-13T20:33:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasocket/commit/?id=13f2b3c663d9fa5c464782a0bfccb30bcc017b0c'/>
<id>urn:sha1:13f2b3c663d9fa5c464782a0bfccb30bcc017b0c</id>
<content type='text'>
</content>
</entry>
</feed>
