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

Prepare v2 release with breaking changes #592

Open
ErikPelli opened this issue Dec 21, 2024 · 12 comments
Open

Prepare v2 release with breaking changes #592

ErikPelli opened this issue Dec 21, 2024 · 12 comments

Comments

@ErikPelli
Copy link
Collaborator

net.Dial is deprecated.
Replace its usages with net.DialContext.

@ErikPelli
Copy link
Collaborator Author

This will be done in a v2 branch, because it's a breaking change

@ErikPelli ErikPelli changed the title Replace Dial with DialContext Prepare v2 release with breaking changes Dec 21, 2024
@ErikPelli
Copy link
Collaborator Author

ErikPelli commented Dec 21, 2024

  • Replace Dial with DialContext
  • Review public exposed functions and remove the deprecated ones
  • Add a TLS interface to allow other TLS libraries implementations (e.g. uTLS)
  • Add Warn, Info and Error to external logger interface to log different stuff based on the type of error
  • Remove custom library context and replace it with context.Context (goproxy2) (Refactor context to use golang's context #227)
  • Remove custom legacy transport.go file and replace it with the go standard library

@ErikPelli
Copy link
Collaborator Author

  • Use only one error handler instead of a lot of user specified functions, and use an enum as the first parameter, to specify the error source. Delete ctx.Error since the error will be handled directly in this handler.

@ErikPelli
Copy link
Collaborator Author

  • Refactor HTTP/2 code

@ErikPelli
Copy link
Collaborator Author

  • Check abourget fork to see if there are some useful refactorings that can be integrated

@ErikPelli
Copy link
Collaborator Author

  • Completely separate ReqHandler from RespHandler and group requests and resp with the same condition

@ErikPelli
Copy link
Collaborator Author

  • Once we have a Go standard context, use different keys for different user data (e.g. one key for each ext package)

@elazarl
Copy link
Owner

elazarl commented Jan 11, 2025

That's a great idea, when I started the library there was not standard context IIRC

@ErikPelli
Copy link
Collaborator Author

I'm annotating here the breaking changes that I'm planning to introduce in this hypothetical new version, it's still a WIP.
If you have any other idea, please write it here!

@ErikPelli
Copy link
Collaborator Author

  • Inherit organization name from used certificate

Repository owner deleted a comment from Nyx2022 Jan 16, 2025
Repository owner deleted a comment from Nyx2022 Jan 16, 2025
Repository owner deleted a comment from Nyx2022 Jan 16, 2025
@ErikPelli
Copy link
Collaborator Author

(deleted unrelated comments that were referring a closed issue)

@ErikPelli
Copy link
Collaborator Author

  • Try to merge HTTP MITM and TLS MITM actions in order to avoid confusion

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

No branches or pull requests

2 participants