Skip to content

make new resources classes public#767

Merged
asvetlov merged 1 commit intoaio-libs:masterfrom
rutsky:make-resources-public
Feb 5, 2016
Merged

make new resources classes public#767
asvetlov merged 1 commit intoaio-libs:masterfrom
rutsky:make-resources-public

Conversation

@rutsky
Copy link
Copy Markdown
Member

@rutsky rutsky commented Feb 5, 2016

These classes are documented as members of aiohttp.web, but they aren't because they are not exported in __all__:
AbstractResource, ResourceAdapter, AbstractRoute, ResourceRoute.

These classes are documented as members of aiohttp.web, but they aren't
because they are not exported in __all__:
AbstractResource, ResourceAdapter, AbstractRoute, ResourceRoute
rutsky added a commit to aio-libs/aiohttp-cors that referenced this pull request Feb 5, 2016
@asvetlov
Copy link
Copy Markdown
Member

asvetlov commented Feb 5, 2016

I just curious what do you want to do with these public names? Perform isinstance() checks?
Creating new resources is still forbidden by public API, the only available way is router.add_resource().

@rutsky
Copy link
Copy Markdown
Member Author

rutsky commented Feb 5, 2016

I just curious what do you want to do with these public names? Perform isinstance() checks?

  1. For type hinting (e.g. here, however I removed them at this moment because of this issue).
  2. For isinstance checks, yes.

I haven't thought about support of Resources in aiohttp_cors in details, but I believe in addition to:

# setup CORS for specific route
cors.add(app.router.add_route("GET", "/hello", handler_get))

where cors.add() receives AbstractRoute.
Will be cors.add() that receives AbstractResource:

resource = router.add_resource('/path/{to}', name='name')
resource.add_route('GET', handler_get)
resource.add_route('POST', handler_post)
# setup CORS for all routes on resource
cors.add(resource)

So I need to check is passed object is resource or route.

Currently later approach is not supported, but RuntimeError after proper isinstance check is already done: https://github.com/aio-libs/aiohttp_cors/blob/fix-for-aiohttp-0.21/aiohttp_cors/cors_config.py#L172

@asvetlov
Copy link
Copy Markdown
Member

asvetlov commented Feb 5, 2016

Sounds good

asvetlov added a commit that referenced this pull request Feb 5, 2016
make new resources classes public
@asvetlov asvetlov merged commit b9b1967 into aio-libs:master Feb 5, 2016
rutsky added a commit to aio-libs/aiohttp-cors that referenced this pull request Apr 4, 2016
@lock
Copy link
Copy Markdown

lock bot commented Oct 29, 2019

This thread has been automatically locked since there has not been
any recent activity after it was closed. Please open a new issue for
related bugs.

If you feel like there's important points made in this discussion,
please include those exceprts into that new issue.

@lock lock bot added the outdated label Oct 29, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Oct 29, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants