forked from mirrors/gecko-dev
		
	 a1ee478054
			
		
	
	
		a1ee478054
		
	
	
	
	
		
			
			Note that, as part of adding this packages to the automated vendoring system, some dependencies were automatically added - most notably, dependencies of `taskcluster` that become visible with Python 3.6+. Also, adds `**/.git` to the exclusions because: * `.git` is part of our `.hgignore`, but * `.git` is part of the `aiohttp` `tar.gz` file. Since the file isn't needed for `pip install`-ing `aiohttp`, and since we want `./mach vendor python` to be a no-op when there's no requirement changes, we exclude it. Differential Revision: https://phabricator.services.mozilla.com/D123122
		
			
				
	
	
		
			64 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python3
 | |
| """Example for aiohttp.web basic server
 | |
| with table definition for routes
 | |
| """
 | |
| 
 | |
| import textwrap
 | |
| 
 | |
| from aiohttp import web
 | |
| 
 | |
| 
 | |
| async def intro(request):
 | |
|     txt = textwrap.dedent(
 | |
|         """\
 | |
|         Type {url}/hello/John  {url}/simple or {url}/change_body
 | |
|         in browser url bar
 | |
|     """
 | |
|     ).format(url="127.0.0.1:8080")
 | |
|     binary = txt.encode("utf8")
 | |
|     resp = web.StreamResponse()
 | |
|     resp.content_length = len(binary)
 | |
|     resp.content_type = "text/plain"
 | |
|     await resp.prepare(request)
 | |
|     await resp.write(binary)
 | |
|     return resp
 | |
| 
 | |
| 
 | |
| async def simple(request):
 | |
|     return web.Response(text="Simple answer")
 | |
| 
 | |
| 
 | |
| async def change_body(request):
 | |
|     resp = web.Response()
 | |
|     resp.body = b"Body changed"
 | |
|     resp.content_type = "text/plain"
 | |
|     return resp
 | |
| 
 | |
| 
 | |
| async def hello(request):
 | |
|     resp = web.StreamResponse()
 | |
|     name = request.match_info.get("name", "Anonymous")
 | |
|     answer = ("Hello, " + name).encode("utf8")
 | |
|     resp.content_length = len(answer)
 | |
|     resp.content_type = "text/plain"
 | |
|     await resp.prepare(request)
 | |
|     await resp.write(answer)
 | |
|     await resp.write_eof()
 | |
|     return resp
 | |
| 
 | |
| 
 | |
| def init():
 | |
|     app = web.Application()
 | |
|     app.router.add_routes(
 | |
|         [
 | |
|             web.get("/", intro),
 | |
|             web.get("/simple", simple),
 | |
|             web.get("/change_body", change_body),
 | |
|             web.get("/hello/{name}", hello),
 | |
|             web.get("/hello", hello),
 | |
|         ]
 | |
|     )
 | |
|     return app
 | |
| 
 | |
| 
 | |
| web.run_app(init())
 |