Fix cqueues adapter: support multi-value response headers (Set-Cookie) #810
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a crash in the cqueues (lua-http) backend when an action sets more than one cookie.
Lapis stores multiple Set-Cookie values as an array in res.headers, but the cqueues adapter was appending header values directly and passed a Lua table to http.headers:append, causing field value invalid. The adapter now flattens table-valued headers and appends each value separately, allowing multiple cookies (and any multi-value header) to work correctly.
Repro: set self.cookies.csrf and self.cookies.theme alongside self.session.* → server crashes.
After: multiple Set-Cookie headers are emitted correctly