{ "info": { "author": "Vladimir Rutsky and aio-libs team", "author_email": "vladimir@rutsky.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: AsyncIO", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries" ], "description": "========================\nCORS support for aiohttp\n========================\n\n``aiohttp_cors`` library implements\n`Cross Origin Resource Sharing (CORS) `__\nsupport for `aiohttp `__\nasyncio-powered asynchronous HTTP server.\n\nJump directly to `Usage`_ part to see how to use ``aiohttp_cors``.\n\nSame-origin policy\n==================\n\nWeb security model is tightly connected to\n`Same-origin policy (SOP) `__.\nIn short: web pages cannot *Read* resources which origin\ndoesn't match origin of requested page, but can *Embed* (or *Execute*)\nresources and have limited ability to *Write* resources.\n\nOrigin of a page is defined in the `Standard `__ as tuple\n``(schema, host, port)``\n(there is a notable exception with Internet Explorer: it doesn't use port to\ndefine origin, but uses it's own\n`Security Zones `__).\n\nCan *Embed* means that resource from other origin can be embedded into\nthe page,\ne.g. by using ``