def boot(self): for event, listener in self.items.items(): if isinstance(listener, str): app('events').listen(event, listener) if isinstance(listener, list): for item in listener: app('events').listen(event, item) print('| Support EventServiceProvider booted')
async def handle(self, request): from laravel.Helps.Help import app self._initCurrentConfig(deepcopy(app('config'))) self._initCurrentRequest(request) # self._initCurrentApp(deepcopy(app())) return await self.sendRequestThroughRouter(request)
async def handler(self, request): try: request = Request(request) return await self.kernel.handle(request) except NotFoundException: with open('../laravel/Foundation/Exceptions/404.html') as f: body = f.read() return web.Response(body=body, status=404, content_type='text/html') except BaseException as e: today = datetime.date.today() if app('config').get('app.log'): with open(app().logPath + str(today) + '.log', 'a') as f: now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) f.write('【TIME】 ' + now + '\n') traceback.print_exc(file=f) f.write('\n\n') if app('config').get('app.trace'): traceback.print_exc() if app('config').get('app.debug'): ex = traceback.format_exc().splitlines() body = '<br/>'.join(ex) return web.Response(body=body, status=500, content_type='text/html') return web.Response(body='服务器异常', status=500, content_type='text/html', charset='utf-8') finally: pass
async def qiniu(self, request): ak = 'cXuruOsjHdk6kVGu4lVx7izG1O96ZyK8lis32ZDG' sk = 'a7em2JOptQXuD6Hf85DsOLjHjBlvLjC6DhmxzRef' from qiniu import Auth, put_file, etag from laravel.Helps.Help import app q = Auth(ak, sk) # 要上传的空间 bucket_name = 'larapy' # 上传后保存的文件名 key = 'laray6666.jpg' # 生成上传 Token,可以指定过期时间等 token = q.upload_token(bucket_name, key, 3600) # 要上传文件的本地路径 localfile = app().staticPath + 'laravel/laravel.jpg' # print(localfile) ret, info = put_file(token, key, localfile) # print(info) return viewResponse('done')
def dispatch(cls, payload={}): from laravel.Helps.Help import app return app('events').dispatch(cls(payload=payload))
def __init__(self, kernel): self.kernel = kernel self.loop = asyncio.get_event_loop() app().instance('loop', self.loop) self.loop.create_task(self.run())
return web.Response(body='服务器异常', status=500, content_type='text/html', charset='utf-8') finally: pass async def run(self): server = web.Server(self.handler) await self.loop.create_server(server, "0.0.0.0", 8899) if __name__ == '__main__': from laravel.Helps.Help import Application, app application = Application(os.getcwd() + '/../') application.singleton('kernel', getKernelClosure(app('router'))) kernel = app('kernel').bootstrap() server = Server(kernel) try: server.loop.run_forever() except KeyboardInterrupt: pass server.loop.close()
async def config(self, request): configs = app('config').all() return jsonResponse(configs)
def mapWebRoutes(self): web(app('router')) foo(app('router')) example(app('router'))
def mapApiRoutes(self): api(app('router'))
from laravel.Helps.Help import app router = app('router') @router.namespace('app.Http.Controllers') @router.middleware(['app.Http.Middleware.M4']) def web(router): # router.attr({ # 'Middleware': ['app.Http.Middleware.M4', 'app.Http.Middleware.M5'] # }).get('home', 'HomeController@index') router.get('/', 'HomeController@index') router.get('home', 'HomeController@index') router.attr({ 'Middleware': ['app.Http.Middleware.M5'] }).post('home', 'HomeController@index') router.get('/h', 'HomeController@home') router.get('/post', 'PostController@index') router.get('/queue', 'HomeController@queue') router.get('/user', 'UserController@index') #router.get('/event','UserController@event') router.get('', 'HomeController@index')
def __init__(self, filename, ext, content): self.filename = filename self.ext = ext self.content = content self.path = app().staticPath