Skip to content

feature: remove [scheme] from requests#1086

Merged
rgrinberg merged 1 commit intomasterfrom
ps/rr/feature__remove__scheme__from_requests
Sep 4, 2024
Merged

feature: remove [scheme] from requests#1086
rgrinberg merged 1 commit intomasterfrom
ps/rr/feature__remove__scheme__from_requests

Conversation

@rgrinberg
Copy link
Copy Markdown
Member

This makes it so that [Request.make ~uri |> Request.uri] will no longer return the same URI as [uri]. Also, this property was never preserved with respect to other URI fields.

cc @MisterDA

Signed-off-by: Rudi Grinberg me@rgrinberg.com

Comment on lines +124 to +125
let empty = Uri.of_string "" in
let empty_base = Uri.of_string "///" in
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A Uri.t is a fairly heavy record - I just noticed both of these can be lifted into constants at the toplevel and not reallocated every request

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed. I wonder if we should just get rid of this function altogether and just introduce separate functions to extract the Uri components that can be safely extracted out of the request.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably just better to 'deallocationise' this library separately. I actually wanted to use it to test out the JS with-extensions tree to see how well local annotations would do in some places here...

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, though I think this function cannot be be used in a low allocation context anyway. Many of the components this function is returning can be extracted without any allocation at all. While the Uri.t this function returns will always be allocated - even if it is only done once.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it would need changing the Uri library as well... the accessors there could be more lazy. That library's design hasn't changed for about a decade -- about high time for a refresh!

This makes it so that [Request.make ~uri |> Request.uri] will no longer
return the same URI as [uri]. Also, this property was never preserved
with respect to other URI fields.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>

<!-- ps-id: eab21598-332e-4541-9530-fe5ca05e2d06 -->
@rgrinberg rgrinberg force-pushed the ps/rr/feature__remove__scheme__from_requests branch from f2932ca to 47a77bc Compare September 4, 2024 11:32
@rgrinberg rgrinberg merged commit 1568940 into master Sep 4, 2024
@samoht samoht deleted the ps/rr/feature__remove__scheme__from_requests branch December 13, 2024 13:28
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.

3 participants