Skip to content

Eio-compatible representation for response Body #260

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Jun 12, 2025

Conversation

Julow
Copy link
Contributor

@Julow Julow commented May 13, 2025

This requires Eliom with this change: ocsigen/eliom#834

This changes the representation of the body of the response to be compatible with Cohttp-eio.

This now uses Cohttp_lwt_unix.Server.make_expert, which expect a representation for the body that is closer to direct-style IO instead of using the same Body type as for requests.

The setting of cookie headers is moved into Ocsigen_response, with the goal of eventually building a safer API.

@Julow Julow force-pushed the ocsigen_response_eio branch from d62968b to 44a4cf1 Compare May 13, 2025 11:28
@Julow Julow marked this pull request as draft May 14, 2025 11:52
@Julow
Copy link
Contributor Author

Julow commented May 14, 2025

I marked this as draft as I still couldn't make this work. Deflatemod makes the server stop responding.

@Julow Julow marked this pull request as ready for review May 16, 2025 14:33
@Julow
Copy link
Contributor Author

Julow commented May 16, 2025

The bug is now fixed. This is ready to be reviewed !

Julow added 11 commits June 12, 2025 12:08
This changes the representation of the body of the response to be
compatible with Cohttp-eio.

This now uses 'Cohttp_lwt_unix.Server.make_expert', which expect a
representation for the body that is closer to direct-style instead of
using the same Body type as for requests.

The setting of cookie headers is moved into 'Ocsigen_response', with the
goal of building a safer API.
Rewrite 'Deflatemod' to operate on 'Ocsigen_response.Body' directly instead
of on 'Ocsigen_stream'.

'Ocsigen_stream' will no longer be compatible with Cohttp-eio's response
type.
This adds functions from `Cohttp_lwt_unix.Server` that are no longer
available with cohttp-eio.
In cohttp-eio, the transfer encoding is no longer propagated through the
`Body.t` type. Instead, it must be propagated separately.
@Julow Julow force-pushed the ocsigen_response_eio branch from 04a2f29 to a4d22c4 Compare June 12, 2025 10:09
@Julow
Copy link
Contributor Author

Julow commented Jun 12, 2025

This is required for other work towards the transition to Eio so I'll merge now. I rebased on top of the new tests, which don't show regressions.

@Julow Julow merged commit 263f5b8 into ocsigen:master Jun 12, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant