Metadata-Version: 2.0
Name: albatross-extras
Version: 0.1.0
Summary: Utilities for albatross web framework
Home-page: https://github.com/kespindler/albatross_extras
Author: Kurt Spindler
Author-email: kespindler@gmail.com
License: MIT
Keywords: web http server async
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.5
Provides-Extra: ujson
Requires-Dist: ujson; extra == 'ujson'

Extras to get up and running quickly with albatross
+++++++++++++++++++++++++++++++++++++++++++++++++++

Handler
=======

There are handlers for:

- static files
- static directories
- server health & profiling
- jinja2 templating

Middleware
==========

There is middleware for:

- authentication
- logging
- statsd
- cors cross-browser authorization


Example
=======

.. code:: python

  from albatross import Server
  from albatross_extras.handler import HealthHandler
  from albatross_extras.middleware import (
      StatsdMiddleware,
      LoggingMiddleware,
  )
  from albatross_extras.lib import logging
  import asyncio

  class Handler:
      async def on_get(self, req, res):
          await asyncio.sleep(0.1)
          res.write('Hello, %s' % req.args['name'])

  app = Server()
  logger = logging.get_logger('my-app.web')
  app.add_middleware(LoggingMiddleware(logger)
  app.add_middleware(StatsdMiddleware())
  app.add_route('/health', HealthHandler())
  app.serve()
  # You'll now emit stats to statsd and log in JSON format to stdout


