Skip to content

Implemented minimal WebTransport Middleware #41945

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

Conversation

Daniel-Genkin-MS-2
Copy link
Contributor

@Daniel-Genkin-MS-2 Daniel-Genkin-MS-2 commented May 31, 2022

Quick PR to add a new project for the WebTransport Middleware. This will eventually host the WebTransport API.

TODO

  • Add sample project
  • Add test project

@davidfowl
Copy link
Member

What does the WebTransport API look like? Is there a new API we're adding here? What does this middleware do?

@Daniel-Genkin-MS-2 Daniel-Genkin-MS-2 force-pushed the t-dagenkin/WebTransportMiddleware branch from 3ddf9eb to 586ccc8 Compare June 1, 2022 23:00
@Daniel-Genkin-MS-2
Copy link
Contributor Author

Just squashed the commits to get a nicer permalink for my other PR (#41949). No code changes were made.

@Daniel-Genkin-MS-2 Daniel-Genkin-MS-2 marked this pull request as ready for review June 2, 2022 20:44
@Daniel-Genkin-MS-2
Copy link
Contributor Author

What does the WebTransport API look like? Is there a new API we're adding here? What does this middleware do?

Those are great questions! I don't know yet as I am doing everything very incrementally. My next follow up PR will hopefully answer these questions. This PR just sets up the project.

@Tratcher
Copy link
Member

Tratcher commented Jun 2, 2022

What does the WebTransport API look like? Is there a new API we're adding here? What does this middleware do?

Those are great questions! I don't know yet as I am doing everything very incrementally. My next follow up PR will hopefully answer these questions. This PR just sets up the project.

The theory is that it will work similar to WebSockets, there will be a new Feature that you can call Accept on and get back a WebTransport abstraction. We don't know the shape of that yet, but it may mirror the client side JS APIs.

@halter73
Copy link
Member

halter73 commented Jun 3, 2022

The theory is that it will work similar to WebSockets,

Is it similar enough to consider putting the WebTransport middleware in the Microsoft.AspNetCore.WebSockets assembly?

@Tratcher
Copy link
Member

Tratcher commented Jun 3, 2022

The theory is that it will work similar to WebSockets,

Is it similar enough to consider putting the WebTransport middleware in the Microsoft.AspNetCore.WebSockets assembly?

I would only do that if we expected them to share any code. I don't think that will be the case.

@davidfowl
Copy link
Member

So in theory when we ship this would it go into the BCL networking APIs?

@Tratcher
Copy link
Member

Tratcher commented Jun 3, 2022

So in theory when we ship this would it go into the BCL networking APIs?

Only the symmetrical parts (if any), similar to the WebSocket type.

@davidfowl
Copy link
Member

davidfowl commented Jun 3, 2022

Only the symmetrical parts (if any), similar to the WebSocket type.

Yes, like the entire WebSocket implementation 😄

Copy link
Member

@Tratcher Tratcher left a comment

Choose a reason for hiding this comment

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

After yesterday's design discussion it looks like most of the WebTransport functionality will need to be built directly into Kestrel. Let's pause this PR until we're sure if we need the middleware package or not.

@Daniel-Genkin-MS-2
Copy link
Contributor Author

After yesterday's design discussion it looks like most of the WebTransport functionality will need to be built directly into Kestrel. Let's pause this PR until we're sure if we need the middleware package or not.

I agree. By "pause", do you mean close or just stop committing to it?

@Tratcher
Copy link
Member

Tratcher commented Jun 6, 2022

How about you close the PR but keep the branch in case we need it later.

@amcasey amcasey added area-middleware Includes: URL rewrite, redirect, response cache/compression, session, and other general middlewares and removed area-runtime labels Jun 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-middleware Includes: URL rewrite, redirect, response cache/compression, session, and other general middlewares
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants