def share(): web.router(r'/(.*)', handler = web.FileHandler, kwargs = { 'root' : get_share_path(), }) web.app_run(port = 8000, processes = 1)
class BaseHandler(RequestHandler): def get_current_user(self): return self.session.get('username') @router(url = '/login', is_login = True, base_handler = BaseHandler) def login(self): self.render('login.html') @router(url = '/login', method = 'POST', base_handler = BaseHandler) def login_post(self): username = self.get_argument('username', '') if username: self.session['username'] = username self.session.save() callback_url = self.get_query_argument('callback', '/') self.redirect(callback_url) @router(url = '/logout', method='GET', base_handler = BaseHandler) def logout(self): self.session.pop('username', None) self.session.save() self.redirect('/') @router(url = '/', base_handler = BaseHandler, should_login = True) def index(self): self.push('hi ' + self.current_user) app_run(__file__)
#coding:utf8 from gale.web import router, app_run from gale.server import HTTPServer from gale.ipc import IPCDict import os @router(url='/') def index(self): ipc_dict = IPCDict('counter') access_counter = ipc_dict.incr('access_counter') self.push("pid: %s counter:%s" % (os.getpid(), access_counter)) app_run(processes = 4)
#!/usr/bin/env python #coding:utf-8 # Author : tuxpy # Email : [email protected] # Last modified : 2015-06-09 15:20:13 # Filename : test.py # Description : from gale.web import app_run, router, RequestHandler, limit_referrer, HTTPError from gale.cache import MemCacheManager, cache, page class CacheHandler(RequestHandler): @cache() def add(self, a, b): print('a + b') return a + b @router(url = '/', method = 'GET') def index(self): raise HTTPError(500) @router(url = '/test', method='GET', base_handler = CacheHandler) def test(self): self.render('t.html', l = [1, 2, 3]) @router(url = '/test', method = 'POST') def login_post(self): self.push('hello: ' + self.get_argument('firstname', '1') + " " +self.get_argument('lastname')) app_run(__file__, settings = {'debug': False, 'gzip': True, 'cookie_secret': '123', 'cache_manager': MemCacheManager(expire = 1000)}, processes = 10, port = 5000)
#!/usr/bin/env python #coding:utf-8 # Author : tuxpy # Email : [email protected] # Last modified : 2016-01-22 09:54:48 # Filename : files.py # Description : from __future__ import print_function, unicode_literals from gale import web web.router('/dl(.*)', handler = web.FileHandler, kwargs = { 'root': '/data/', 'show_hidden': False, 'hidden_list': [r'/.*?/gale/$'], 'deny_hidden': True, 'base_username': '******', 'base_password': '******', }) web.app_run(processes = 1)
@router(url = '/login', method = 'POST') def login_post(self): """ restapi: 用户登录 request: username: 用户 password: 密码 """ self.push(self.body.username) def get_port(): import sys if len(sys.argv) < 2: return 5000 if sys.argv[1].isdigit(): return int(sys.argv[1]) return 5000 load_worker = LoadWorker(target_host = '127.0.0.1', password = '******') app_run(settings = {'debug': True, 'gzip': False, 'cookie_secret': '123', 'cache_manager': MemCacheManager(expire = 1000)}, processes = 1, port = get_port(), )
#!/usr/bin/env python #coding:utf-8 # Author : tuxpy # Email : [email protected] # Last modified : 2015-06-09 10:03:05 # Filename : helloword.py # Description : from gale.web import router, app_run """ @router(url = r'/(\w+)?', host='localhost', method = 'GET') def hello(self, name = None): self.push('hello ' + (name or 'XXX')) app_run() """ # 下面这样也可以哦 from gale.web import Application, RequestHandler from gale.server import HTTPServer class HelloHandler(RequestHandler): def GET(self, name = None): self.push('hello ' + (name or 'XXX')) app = Application(handlers = [(r'/(\w+)?', HelloHandler), ]) http_server = HTTPServer(app) http_server.listen(8080) http_server.run()
return logger def parse_value(v): if re_float.match(v): return float(v) elif re_int.match(v): return int(v) elif re_tuple.match(v): return ast.literal_eval(v) elif v == 'None': return None return v @router(r'/log', method = 'POST') def log(self): log_dict = {} for _k, _v in self.request.all_arguments.items(): if len(_v) == 1: log_dict[_k] = parse_value(_v[0]) else: for __v in _v: log_dict.setdefault(_k, []).append(parse_value(__v)) log_record = logging.makeLogRecord(log_dict) logger = get_logger() logger.handle(log_record) app_run(port = 8009)