Example #1
0
def setup_servers(config, servers, is_new):
    for server in servers.values():
        if is_new:
            conf = config._get('server.%s' % server.name)
        else:
            conf = config._get('%s' % server.name)
        if conf.is_active is False:
            continue
        context = MicroContext(
            conf.http_max_content_length if hasattr(conf, 'http_max_content_length') else None,
            conf.http_max_line_length if hasattr(conf, 'http_max_line_length') else 10000,
            conf.http_max_header_count if hasattr(conf, 'http_max_header_count') else 100,
        )
        mapper = RESTMapper(context)
        for route in server.routes:
            methods = {}
            for method, path in route.methods.items():
                methods[method] = _import(path)
            mapper.add(route.pattern, silent=route.silent, **methods)
        handler = _import(server.handler) if server.handler else MicroRESTHandler
        SERVER.add_server(
            conf.port,
            handler,
            mapper,
            conf.ssl.is_active,
            conf.ssl.certfile,
            conf.ssl.keyfile,
        )
        log.info('listening on %s port %d', server.name, conf.port)
Example #2
0
 def mapper(self):
     mapper = RESTMapper()
     mapper.add('/test$', get=1, post=2, put=3, delete=4)
     mapper.add('/foo$', get=1, post=2)
     mapper.add('/foo$', put=5)
     return mapper
Example #3
0
    def setUp(self):
        self.c = RESTMapper()
        self.c.add('/test$', 1, 2, 3, 4)

        self.c.add('/foo$', 1, 2)
        self.c.add('/foo$', put=5)