Cors对Bareasgi的支持
bareasgi-cors的Python项目详细描述
bareasgi cors
cors支持bareASGI(请阅读documentation)
用法
提供了方便功能。
importjsonimportloggingimportuvicornfrombareasgiimport(Application,text_reader,text_writer)frombareasgi_corsimportCORSMiddlewarelogging.basicConfig(level=logging.DEBUG)asyncdefget_info(scope,info,matches,content):text=json.dumps(info)return200,[(b'content-type',b'application/json')],text_writer(text)asyncdefset_info(scope,info,matches,content):text=awaittext_reader(content)data=json.loads(text)info.update(data)return204,None,Nonecors_middleware=CORSMiddleware()app=Application(info={'name':'Michael Caine'},middlewares=[cors_middleware])app.http_router.add({'GET'},'/info',get_info)app.http_router.add({'POST','OPTIONS'},'/info',set_info)uvicorn.run(app,port=9010)
post方法
在上面的示例中,post包含一个option方法。这个 始终需要使用post,因为浏览器将首先尝试使用一个选项。