Skip to content
This repository was archived by the owner on Nov 20, 2018. It is now read-only.

Move remaining feature interfaces into Microsoft.AspNetCore.Http.Features package and namespace #589

Closed
wants to merge 3 commits into from

Conversation

dougbu
Copy link
Contributor

@dougbu dougbu commented Mar 17, 2016

nit: remove transient dependencies listed in Microsoft.AspNetCore.Http.Abstractions's project.json

@dougbu
Copy link
Contributor Author

dougbu commented Mar 17, 2016

/cc @lodejard @davidfowl
Will get reaction PRs (3 or 4) out later this evening.

@@ -21,6 +21,7 @@
"netstandard1.3": {
"dependencies": {
"System.Collections": "4.0.11-*",
"System.ComponentModel": "4.0.1-*",
Copy link
Member

Choose a reason for hiding this comment

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

Which type requires this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

IServiceProvidersFeature

Copy link
Contributor Author

Choose a reason for hiding this comment

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

FYI I moved this from src/Microsoft.AspNetCore.Http.Abstractions/project.json, same package that interface came from to this one.

@davidfowl
Copy link
Member

We should look at renaming some of these interfaces on the second pass.

/cc @Tratcher

@dougbu
Copy link
Contributor Author

dougbu commented Mar 18, 2016

We should look at renaming some of these interfaces on the second pass.

Just curious: Would the renaming be to add Http, to remove that, or something else?

In any case, I suggest filing a separate issue b/c such a renaming is unrelated to #561. That issue is specific to IResponseCookiesFeature.

@davidfowl
Copy link
Member

Just curious: Would the renaming be to add Http, to remove that, or something else?

Probably adding http to some of them (the ones that relate to http things like form)

@Tratcher
Copy link
Member

Having a /Features directory inside the Features package is redundant.

@dougbu
Copy link
Contributor Author

dougbu commented Mar 18, 2016

Having a /Features directory inside the Features package is redundant.

We're supposed to have a directory per namespace and @Eilon asked me to clean up this particular mix.

@davidfowl
Copy link
Member

I have to agree with @Tratcher, why is it in a features folder?

@dougbu
Copy link
Contributor Author

dougbu commented Mar 18, 2016

why is it in a features folder?

Huh? Are you suggesting creating a .Root folder for everything that's in the Microsoft.AspNetCore.Http namespace and putting that below the .Features files? Or are you suggesting we ignore @Eilon's guidance?

@Tratcher
Copy link
Member

The guideline is to use folders for sub-namespaces. There's no guideline for components in parent namespaces. I think it's fine to put everything in the base directory in this case.

@dougbu
Copy link
Contributor Author

dougbu commented Mar 18, 2016

it's fine to put everything in the base directory in this case

That means mixing Microsoft.AspNetCore.Http and Microsoft.AspNetCore.Http.Features in the root directory. Put another way, Microsoft.AspNetCore.Http.Features is a sub-namespace relative to the files in the root directory.

Note moving, say, IFormCollection into Microsoft.AspNetCore.Http.Features is a non-starter. It's more general than what we have in the sub-namespace. (Actually, should probably move ISession and perhaps WebSocketAcceptContext up into the root namespace and directory.)

@Eilon ?

@Eilon
Copy link
Contributor

Eilon commented Mar 18, 2016

Oh I didn't realize the files would effectively be in a ...Features.Features folder. That's worse.

Just leave it top-level then.

@dougbu
Copy link
Contributor Author

dougbu commented Mar 18, 2016

Just leave it top-level then.

🆗

dougbu added 2 commits March 18, 2016 10:24
…tures` package and namespace

- related to #561
- move required interfaces and classes down from `Microsoft.AspNetCore.Http.Abstractions`
- move everything in the `Microsoft.AspNetCore.Http.Features` into their own directory

nit: remove transient dependencies listed in `Microsoft.AspNetCore.Http.Abstractions`'s `project.json`
@dougbu dougbu force-pushed the dougbu/feature.interfaces.561 branch from b026be4 to 10aa15c Compare March 18, 2016 17:25
@dougbu
Copy link
Contributor Author

dougbu commented Mar 18, 2016

🆙📅

@Tratcher
Copy link
Member

Why not include #590?

@dougbu
Copy link
Contributor Author

dougbu commented Mar 18, 2016

Why not include #590?

Because that class and interface were already in the Microsoft.AspNetCore.Http.Features package and the change suggested in #590 was unrelated. Plus I didn't know if #590 was controversial for some reason.

@Tratcher
Copy link
Member

Meh, do it so you only have to make one pass of updates.

@dougbu
Copy link
Contributor Author

dougbu commented Mar 18, 2016

do it

🆗

dougbu added a commit to aspnet/KestrelHttpServer that referenced this pull request Mar 19, 2016
dougbu added a commit to aspnet/Session that referenced this pull request Mar 19, 2016
dougbu added a commit to aspnet/MusicStore that referenced this pull request Mar 19, 2016
@dougbu
Copy link
Contributor Author

dougbu commented Mar 19, 2016

🆙📅

using Microsoft.AspNetCore.Http.Features.Authentication;
using Microsoft.AspNetCore.Http.Features.Authentication.Internal;
using Microsoft.AspNetCore.Http.Features.Internal;
Copy link
Member

Choose a reason for hiding this comment

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

We still have internal features?

Copy link
Member

Choose a reason for hiding this comment

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

Implementations

Copy link
Member

Choose a reason for hiding this comment

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

Those should go into an internal folder...

Copy link
Member

Choose a reason for hiding this comment

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

@Tratcher
Copy link
Member

:shipit:

@davidfowl
Copy link
Member

I don't think these should be considered internal

@dougbu
Copy link
Contributor Author

dougbu commented Mar 19, 2016

I don't think these should be considered internal

@davidfowl do you mean I should move all of the implementations into the Microsoft.AspNetCore.Http.Features namespace? And, unlike the interfaces, no files will be moved in the process? (From what I've seen, the implementations are referenced much less than the interfaces. But they're definitely used, most obviously in KestrelHttpServer.)

@davidfowl
Copy link
Member

@davidfowl do you mean I should move all of the implementations into the Microsoft.AspNetCore.Http.Features namespace? And, unlike the interfaces, no files will be moved in the process? (From what I've seen, the implementations are referenced much less than the interfaces. But they're definitely used, most obviously in KestrelHttpServer.)

We can file a bug for this.

:shipit:

@dougbu
Copy link
Contributor Author

dougbu commented Mar 21, 2016

We can file a bug for this.

#592

dougbu added a commit to aspnet/Session that referenced this pull request Mar 21, 2016
dougbu added a commit to aspnet/WebSockets that referenced this pull request Mar 21, 2016
@dougbu
Copy link
Contributor Author

dougbu commented Mar 21, 2016

6f24508

@dougbu dougbu closed this Mar 21, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants