Skip to content
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

[RFC]: Removal of UriNormalizer #110

Closed
boesing opened this issue Oct 26, 2023 · 2 comments
Closed

[RFC]: Removal of UriNormalizer #110

boesing opened this issue Oct 26, 2023 · 2 comments
Assignees
Labels
Milestone

Comments

@boesing
Copy link
Member

boesing commented Oct 26, 2023

RFC

Q A
Proposed Version(s) 3.0.0
BC Break? Yes

Goal

Removal of the UriNormalize filter.

Background

laminas/laminas-uri is marked as security only and will most probably not receive any more updates.
That package does also require laminas/laminas-validator, most probably to validate some stuff (haven't had a look).
I was trying to add support for laminas/laminas-servicemanager v4 in here and realized that there laminas-uri does require the service manager as well (maybe due to transitive dependency to the validator component.

To reduce the complexity of this component and to remove another component which will most probably die at some point in favor of diactoros, which does also provide URI stuff while respecting PSR-7, I think we should remove the filter from here.

Considerations

UriNormalization won't be possible with v3 anymore.

Proposal(s)

Was thinking about replacing it with diactoros but the URI component does a whole lotta normalization stuff and therefore, this that filter is totally dependent on internal laminas-uri logic.
IMHO, the filter should get removed and/or re-implemented in one of the upcoming v3 minors while using diactoros.
The normalization logic should be part of this library, could be migrated from laminas-uri for example.
I tried that for a moment but ended up requiring laminas/laminas-escaper as well which made me stop trying.

Appendix

@boesing boesing added the RFC label Oct 26, 2023
@boesing boesing added this to the 3.0.0 milestone Oct 26, 2023
@froschdesign
Copy link
Member

froschdesign commented Oct 27, 2023

…realized that there laminas-uri does require the service manager as well (maybe due to transitive dependency to the validator component.

laminas-validator requires the service manager for the plugin manager.

laminas-uri uses validators in the following classes:

  • Laminas\Uri\Mailto
    • Laminas\Validator\EmailAddress
  • Laminas\Uri\Uri
    • Laminas\Validator\Hostname
    • Laminas\Validator\Ip

…the filter should get removed and/or re-implemented in one of the upcoming v3 minors while using diactoros.

👍🏻

gsteel added a commit to gsteel/laminas-filter that referenced this issue Apr 1, 2024
See laminas#110

Signed-off-by: George Steel <george@net-glue.co.uk>
@gsteel
Copy link
Member

gsteel commented Apr 1, 2024

Closed via #131

@gsteel gsteel closed this as completed Apr 1, 2024
@gsteel gsteel self-assigned this Apr 1, 2024
gsteel added a commit to gsteel/laminas-filter that referenced this issue Apr 3, 2024
See laminas#110

Signed-off-by: George Steel <george@net-glue.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants