Bobtail

class bobtail.wsgi.Bobtail(*args, **kwargs)[source]
Kwargs:

Key routes:

A tuple list of AbstractRoute & request path

environ: Dict

Bobtail is a micro http web framework.

options: BaseOptions

Options (Optional). See BaseOptions for option list. Base options can be overridden & or set on a concrete BaseOptions instance. For Example:

from bobtail.options import BaseOptions

class Options(BaseOptions):
    PORT = 8000                     # set by default
    STATIC_DIR = "app/static"       # set by default
    TEMPLATE_DIR = "app/templates"  # set by default

app = Bobtail(Options, routes=[])
routes: List[Route]

Routes is a list of tuple AbstractRoute & request path pairs. For Example:

routes = [
    (Images(), "/images")
]
run(host='0.0.0.0', port=None)[source]

Starts a development server. For example:

from bobtail import Bobtail

bobtail = Bobtail()

if __name__ == "__main__":
    bobtail.run(port=8001)
use(middleware: AbstractMiddleware)[source]

Enables using third party middleware. For example:

from bobttail_logger import BobtailLogger

app = Bobtail(routes=routes)

# Here we are using `bobtail-logger.py` logging middleware
app.use(BobtailLogger())

Creating custom middleware example. A Middleware object must implement AbstractMiddleware. For example:

from bobtail import Request, Response
from bobtail.middleware import AbstractMiddleware, Tail

class BobtailCors(AbstractMiddleware):

    def run(self, req: Request, res: Response, tail: Tail) -> None:
        res.set_headers({
            "Access-Control-Allow-Origin": "*",
        })
        tail(req, res)
Parameters:

middlewareAbstractMiddleware

Returns:

None