forked from slackapi/bolt-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
292 additions
and
2 deletions.
There are no files selected for viewing
284 changes: 284 additions & 0 deletions
284
docs/api-docs/slack_bolt/adapter/tornado/async_handler.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,284 @@ | ||
<!doctype html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="utf-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||
<meta name="generator" content="pdoc 0.10.0" /> | ||
<title>slack_bolt.adapter.tornado.async_handler API documentation</title> | ||
<meta name="description" content="" /> | ||
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.min.css" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin> | ||
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.min.css" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin> | ||
<link rel="stylesheet preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/github.min.css" crossorigin> | ||
<style>:root{--highlight-color:#fe9}.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}#sidebar > *:last-child{margin-bottom:2cm}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:var(--highlight-color);padding:.2em 0}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{margin-top:.6em;font-weight:bold}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}dt:target .name{background:var(--highlight-color)}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}td{padding:0 .5em}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%;height:100vh;overflow:auto;position:sticky;top:0}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js" integrity="sha256-Uv3H6lx7dJmRfRvH8TH6kJD1TSK1aFcwgx+mdg3epi8=" crossorigin></script> | ||
<script>window.addEventListener('DOMContentLoaded', () => hljs.initHighlighting())</script> | ||
</head> | ||
<body> | ||
<main> | ||
<article id="content"> | ||
<header> | ||
<h1 class="title">Module <code>slack_bolt.adapter.tornado.async_handler</code></h1> | ||
</header> | ||
<section id="section-intro"> | ||
<details class="source"> | ||
<summary> | ||
<span>Expand source code</span> | ||
</summary> | ||
<pre><code class="python">from tornado.httputil import HTTPServerRequest | ||
from tornado.web import RequestHandler | ||
|
||
from slack_bolt.async_app import AsyncApp | ||
from slack_bolt.oauth.async_oauth_flow import AsyncOAuthFlow | ||
from slack_bolt.request.async_request import AsyncBoltRequest | ||
from slack_bolt.response import BoltResponse | ||
from .handler import set_response | ||
|
||
|
||
class AsyncSlackEventsHandler(RequestHandler): | ||
def initialize(self, app: AsyncApp): # type: ignore | ||
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 | ||
|
||
|
||
class AsyncSlackOAuthHandler(RequestHandler): | ||
def initialize(self, app: AsyncApp): # type: ignore | ||
self.app = app | ||
|
||
async def get(self): | ||
if self.app.oauth_flow is not None: # type: ignore | ||
oauth_flow: AsyncOAuthFlow = self.app.oauth_flow # type: ignore | ||
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 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, | ||
)</code></pre> | ||
</details> | ||
</section> | ||
<section> | ||
</section> | ||
<section> | ||
</section> | ||
<section> | ||
<h2 class="section-title" id="header-functions">Functions</h2> | ||
<dl> | ||
<dt id="slack_bolt.adapter.tornado.async_handler.to_async_bolt_request"><code class="name flex"> | ||
<span>def <span class="ident">to_async_bolt_request</span></span>(<span>req: tornado.httputil.HTTPServerRequest) ‑> <a title="slack_bolt.request.async_request.AsyncBoltRequest" href="../../request/async_request.html#slack_bolt.request.async_request.AsyncBoltRequest">AsyncBoltRequest</a></span> | ||
</code></dt> | ||
<dd> | ||
<div class="desc"></div> | ||
<details class="source"> | ||
<summary> | ||
<span>Expand source code</span> | ||
</summary> | ||
<pre><code class="python">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, | ||
)</code></pre> | ||
</details> | ||
</dd> | ||
</dl> | ||
</section> | ||
<section> | ||
<h2 class="section-title" id="header-classes">Classes</h2> | ||
<dl> | ||
<dt id="slack_bolt.adapter.tornado.async_handler.AsyncSlackEventsHandler"><code class="flex name class"> | ||
<span>class <span class="ident">AsyncSlackEventsHandler</span></span> | ||
<span>(</span><span>application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)</span> | ||
</code></dt> | ||
<dd> | ||
<div class="desc"><p>Base class for HTTP request handlers.</p> | ||
<p>Subclasses must define at least one of the methods defined in the | ||
"Entry points" section below.</p> | ||
<p>Applications should not construct <code>RequestHandler</code> objects | ||
directly and subclasses should not override <code>__init__</code> (override | ||
<code>~RequestHandler.initialize</code> instead).</p></div> | ||
<details class="source"> | ||
<summary> | ||
<span>Expand source code</span> | ||
</summary> | ||
<pre><code class="python">class AsyncSlackEventsHandler(RequestHandler): | ||
def initialize(self, app: AsyncApp): # type: ignore | ||
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</code></pre> | ||
</details> | ||
<h3>Ancestors</h3> | ||
<ul class="hlist"> | ||
<li>tornado.web.RequestHandler</li> | ||
</ul> | ||
<h3>Methods</h3> | ||
<dl> | ||
<dt id="slack_bolt.adapter.tornado.async_handler.AsyncSlackEventsHandler.initialize"><code class="name flex"> | ||
<span>def <span class="ident">initialize</span></span>(<span>self, app: <a title="slack_bolt.app.async_app.AsyncApp" href="../../app/async_app.html#slack_bolt.app.async_app.AsyncApp">AsyncApp</a>)</span> | ||
</code></dt> | ||
<dd> | ||
<div class="desc"></div> | ||
<details class="source"> | ||
<summary> | ||
<span>Expand source code</span> | ||
</summary> | ||
<pre><code class="python">def initialize(self, app: AsyncApp): # type: ignore | ||
self.app = app</code></pre> | ||
</details> | ||
</dd> | ||
<dt id="slack_bolt.adapter.tornado.async_handler.AsyncSlackEventsHandler.post"><code class="name flex"> | ||
<span>async def <span class="ident">post</span></span>(<span>self)</span> | ||
</code></dt> | ||
<dd> | ||
<div class="desc"></div> | ||
<details class="source"> | ||
<summary> | ||
<span>Expand source code</span> | ||
</summary> | ||
<pre><code class="python">async def post(self): | ||
bolt_resp: BoltResponse = await self.app.async_dispatch(to_async_bolt_request(self.request)) | ||
set_response(self, bolt_resp) | ||
return</code></pre> | ||
</details> | ||
</dd> | ||
</dl> | ||
</dd> | ||
<dt id="slack_bolt.adapter.tornado.async_handler.AsyncSlackOAuthHandler"><code class="flex name class"> | ||
<span>class <span class="ident">AsyncSlackOAuthHandler</span></span> | ||
<span>(</span><span>application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)</span> | ||
</code></dt> | ||
<dd> | ||
<div class="desc"><p>Base class for HTTP request handlers.</p> | ||
<p>Subclasses must define at least one of the methods defined in the | ||
"Entry points" section below.</p> | ||
<p>Applications should not construct <code>RequestHandler</code> objects | ||
directly and subclasses should not override <code>__init__</code> (override | ||
<code>~RequestHandler.initialize</code> instead).</p></div> | ||
<details class="source"> | ||
<summary> | ||
<span>Expand source code</span> | ||
</summary> | ||
<pre><code class="python">class AsyncSlackOAuthHandler(RequestHandler): | ||
def initialize(self, app: AsyncApp): # type: ignore | ||
self.app = app | ||
|
||
async def get(self): | ||
if self.app.oauth_flow is not None: # type: ignore | ||
oauth_flow: AsyncOAuthFlow = self.app.oauth_flow # type: ignore | ||
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)</code></pre> | ||
</details> | ||
<h3>Ancestors</h3> | ||
<ul class="hlist"> | ||
<li>tornado.web.RequestHandler</li> | ||
</ul> | ||
<h3>Methods</h3> | ||
<dl> | ||
<dt id="slack_bolt.adapter.tornado.async_handler.AsyncSlackOAuthHandler.get"><code class="name flex"> | ||
<span>async def <span class="ident">get</span></span>(<span>self)</span> | ||
</code></dt> | ||
<dd> | ||
<div class="desc"></div> | ||
<details class="source"> | ||
<summary> | ||
<span>Expand source code</span> | ||
</summary> | ||
<pre><code class="python">async def get(self): | ||
if self.app.oauth_flow is not None: # type: ignore | ||
oauth_flow: AsyncOAuthFlow = self.app.oauth_flow # type: ignore | ||
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)</code></pre> | ||
</details> | ||
</dd> | ||
<dt id="slack_bolt.adapter.tornado.async_handler.AsyncSlackOAuthHandler.initialize"><code class="name flex"> | ||
<span>def <span class="ident">initialize</span></span>(<span>self, app: <a title="slack_bolt.app.async_app.AsyncApp" href="../../app/async_app.html#slack_bolt.app.async_app.AsyncApp">AsyncApp</a>)</span> | ||
</code></dt> | ||
<dd> | ||
<div class="desc"></div> | ||
<details class="source"> | ||
<summary> | ||
<span>Expand source code</span> | ||
</summary> | ||
<pre><code class="python">def initialize(self, app: AsyncApp): # type: ignore | ||
self.app = app</code></pre> | ||
</details> | ||
</dd> | ||
</dl> | ||
</dd> | ||
</dl> | ||
</section> | ||
</article> | ||
<nav id="sidebar"> | ||
<h1>Index</h1> | ||
<div class="toc"> | ||
<ul></ul> | ||
</div> | ||
<ul id="index"> | ||
<li><h3>Super-module</h3> | ||
<ul> | ||
<li><code><a title="slack_bolt.adapter.tornado" href="index.html">slack_bolt.adapter.tornado</a></code></li> | ||
</ul> | ||
</li> | ||
<li><h3><a href="#header-functions">Functions</a></h3> | ||
<ul class=""> | ||
<li><code><a title="slack_bolt.adapter.tornado.async_handler.to_async_bolt_request" href="#slack_bolt.adapter.tornado.async_handler.to_async_bolt_request">to_async_bolt_request</a></code></li> | ||
</ul> | ||
</li> | ||
<li><h3><a href="#header-classes">Classes</a></h3> | ||
<ul> | ||
<li> | ||
<h4><code><a title="slack_bolt.adapter.tornado.async_handler.AsyncSlackEventsHandler" href="#slack_bolt.adapter.tornado.async_handler.AsyncSlackEventsHandler">AsyncSlackEventsHandler</a></code></h4> | ||
<ul class=""> | ||
<li><code><a title="slack_bolt.adapter.tornado.async_handler.AsyncSlackEventsHandler.initialize" href="#slack_bolt.adapter.tornado.async_handler.AsyncSlackEventsHandler.initialize">initialize</a></code></li> | ||
<li><code><a title="slack_bolt.adapter.tornado.async_handler.AsyncSlackEventsHandler.post" href="#slack_bolt.adapter.tornado.async_handler.AsyncSlackEventsHandler.post">post</a></code></li> | ||
</ul> | ||
</li> | ||
<li> | ||
<h4><code><a title="slack_bolt.adapter.tornado.async_handler.AsyncSlackOAuthHandler" href="#slack_bolt.adapter.tornado.async_handler.AsyncSlackOAuthHandler">AsyncSlackOAuthHandler</a></code></h4> | ||
<ul class=""> | ||
<li><code><a title="slack_bolt.adapter.tornado.async_handler.AsyncSlackOAuthHandler.get" href="#slack_bolt.adapter.tornado.async_handler.AsyncSlackOAuthHandler.get">get</a></code></li> | ||
<li><code><a title="slack_bolt.adapter.tornado.async_handler.AsyncSlackOAuthHandler.initialize" href="#slack_bolt.adapter.tornado.async_handler.AsyncSlackOAuthHandler.initialize">initialize</a></code></li> | ||
</ul> | ||
</li> | ||
</ul> | ||
</li> | ||
</ul> | ||
</nav> | ||
</main> | ||
<footer id="footer"> | ||
<p>Generated by <a href="https://pdoc3.github.io/pdoc" title="pdoc: Python API documentation generator"><cite>pdoc</cite> 0.10.0</a>.</p> | ||
</footer> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
"""Check the latest version at https://pypi.org/project/slack-bolt/""" | ||
__version__ = "1.15.2" | ||
__version__ = "1.15.3" |