Module slack_bolt.adapter.tornado.async_handler

Functions

def to_async_bolt_request(req: tornado.httputil.HTTPServerRequest) ‑> AsyncBoltRequest
Expand source code
def to_async_bolt_request(req: HTTPServerRequest) -> AsyncBoltRequest:
    return AsyncBoltRequest(
        body=req.body.decode("utf-8") if req.body else "",
        query=req.query,
        headers=req.headers,  # type: ignore[arg-type]
    )

Classes

class AsyncSlackEventsHandler (application: Application,
request: tornado.httputil.HTTPServerRequest,
**kwargs: Any)
Expand source code
class AsyncSlackEventsHandler(RequestHandler):
    def initialize(self, app: AsyncApp):
        self.app = app

    async def post(self):
        bolt_resp: BoltResponse = await self.app.async_dispatch(to_async_bolt_request(self.request))
        set_response(self, bolt_resp)
        return

Base class for HTTP request handlers.

Subclasses must define at least one of the methods defined in the "Entry points" section below.

Applications should not construct RequestHandler objects directly and subclasses should not override __init__ (override ~RequestHandler.initialize instead).

Ancestors

  • tornado.web.RequestHandler

Methods

def initialize(self,
app: AsyncApp)
Expand source code
def initialize(self, app: AsyncApp):
    self.app = app
async def post(self)
Expand source code
async def post(self):
    bolt_resp: BoltResponse = await self.app.async_dispatch(to_async_bolt_request(self.request))
    set_response(self, bolt_resp)
    return
class AsyncSlackOAuthHandler (application: Application,
request: tornado.httputil.HTTPServerRequest,
**kwargs: Any)
Expand source code
class AsyncSlackOAuthHandler(RequestHandler):
    def initialize(self, app: AsyncApp):
        self.app = app

    async def get(self):
        if self.app.oauth_flow is not None:
            oauth_flow: AsyncOAuthFlow = self.app.oauth_flow
            if self.request.path == oauth_flow.install_path:
                bolt_resp = await oauth_flow.handle_installation(to_async_bolt_request(self.request))
                set_response(self, bolt_resp)
                return
            elif self.request.path == oauth_flow.redirect_uri_path:
                bolt_resp = await oauth_flow.handle_callback(to_async_bolt_request(self.request))
                set_response(self, bolt_resp)
                return
        self.set_status(404)

Base class for HTTP request handlers.

Subclasses must define at least one of the methods defined in the "Entry points" section below.

Applications should not construct RequestHandler objects directly and subclasses should not override __init__ (override ~RequestHandler.initialize instead).

Ancestors

  • tornado.web.RequestHandler

Methods

async def get(self)
Expand source code
async def get(self):
    if self.app.oauth_flow is not None:
        oauth_flow: AsyncOAuthFlow = self.app.oauth_flow
        if self.request.path == oauth_flow.install_path:
            bolt_resp = await oauth_flow.handle_installation(to_async_bolt_request(self.request))
            set_response(self, bolt_resp)
            return
        elif self.request.path == oauth_flow.redirect_uri_path:
            bolt_resp = await oauth_flow.handle_callback(to_async_bolt_request(self.request))
            set_response(self, bolt_resp)
            return
    self.set_status(404)
def initialize(self,
app: AsyncApp)
Expand source code
def initialize(self, app: AsyncApp):
    self.app = app