Refactor endpoint parsing for better extensibility #566
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hey team,
I've been looking at how we handle endpoint parsing, and I saw an opportunity to make it more flexible and easier to extend. This PR refactors the endpoint handling logic to be more modular, which should make it easier for us and other developers to add custom endpoint types in the future.
What's new?
daphne/endpoints.pyand created concrete classes for TCP, UNIX, and File Descriptor endpoints. This makes the code cleaner and opens the door for custom endpoint parsers.tests/test_cli.pyhave been updated to work with the new modular design. I've also added a new test case to show how a custom endpoint parser can be added and used.This change doesn't alter any existing functionality, but it makes the codebase more robust and extensible for future development. I think this will be a great improvement for anyone looking to use Daphne in more advanced setups.
Let me know what you think!