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

Graby 3.0 #275

Open
j0k3r opened this issue Dec 10, 2021 · 11 comments
Open

Graby 3.0 #275

j0k3r opened this issue Dec 10, 2021 · 11 comments
Milestone

Comments

@j0k3r
Copy link
Owner

j0k3r commented Dec 10, 2021

I'm thinking about the 3.0.
Not to much breaking changes but mostly type everything (method args, return, variable, etc.) for now and dropping PHP < 7.4

See #272 & #273

I would like to know if you think about something that should be broken in v2 or re-implemented in a way that will require a major version.
So it can be included in 3.0.
Of course, "rewrite everything because method XXX sucks" isn't an appropriate answer.

If this is something really too big and might take too much time to complete, it can also be part of v4 :)

@j0k3r
Copy link
Owner Author

j0k3r commented Dec 13, 2021

I've also removed http-interop/http-factory-guzzle because guzzle/psr7 2.0 finally have a PSR-17 factory but it means v3 will drop support for Guzzle 6 because v6 is locked to guzzle/psr7 v1. This does not affect Guzzle 5

See #277

@j0k3r j0k3r added this to the 3.0.0 milestone Jan 31, 2022
@nicosomb
Copy link
Collaborator

Do we need to wait for graby 3.0 if we want to start a v3 POC for wallabag?

@j0k3r
Copy link
Owner Author

j0k3r commented Mar 24, 2022

Not really, we can use the master.

@Kdecherf
Copy link
Collaborator

Was wondering what we could do with our guzzle-site-authenticator plugin, if it should be done differently or not

@jtojnar
Copy link
Collaborator

jtojnar commented Mar 31, 2023

My wishlist:

  • Removing the use of arrays from return values Graby: Return object instead of an array #316
  • Having constructors take config objects instead of arrays.
  • Making ContentExtractor stateless – so that there is no need to call reset().
  • Making ContentExtractor::$readability property private (possibly constructed by Graby and injected)
  • Possibly using PSR-18 directly instead of HTTPPlug – but there is no support for plug-ins so not sure if it is feasible.
  • Passing PHPStan level max

@j0k3r
Copy link
Owner Author

j0k3r commented Mar 31, 2023

Having constructors take config objects instead of arrays.

We already have Value Object (#284) so won't be to hard to move to object as parameter

Making ContentExtractor::$readability property private

How can we define configuration for readability when using Graby from an external source then?

@jtojnar
Copy link
Collaborator

jtojnar commented Mar 31, 2023

How can we define configuration for readability when using Graby from an external source then?

Won’t passing it through Graby inside GrabyConfig work?

@jtojnar
Copy link
Collaborator

jtojnar commented Apr 13, 2023

I would also like to see

  • async/promise support

It would mean switching from psr/http-client-implementation to php-http/async-client-implementation and using Http\Promise\Promise in the API.

@tacman
Copy link
Contributor

tacman commented Apr 21, 2023

I'm a fan of Symfony's HttpClient, which supports async and standards and all that goodness.

If Graby 2 or 3 can be used with it, can you add that to the documentation? I always find that part of the configuration a bit confusing.

Thanks.

@j0k3r
Copy link
Owner Author

j0k3r commented Apr 21, 2023

@tacman of course, the doc will be updated

@jtojnar
Copy link
Collaborator

jtojnar commented Apr 21, 2023

On that point it would be nice to

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants