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")
]
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` 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