Skip to content

Commit 99ed6a6

Browse files
committed
Update the documents
1 parent ac030dd commit 99ed6a6

35 files changed

+2814
-392
lines changed

docs/api-docs/slack_bolt/adapter/aws_lambda/chalice_handler.html

Lines changed: 112 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ <h1 class="title">Module <code>slack_bolt.adapter.aws_lambda.chalice_handler</co
2727
<span>Expand source code</span>
2828
</summary>
2929
<pre><code class="python">import logging
30+
import json
31+
from os import getenv
3032

3133
from chalice.app import Request, Response, Chalice
34+
from chalice.config import Config
35+
from chalice.test import BaseClient, LambdaContext, InvokeResponse
3236

3337
from slack_bolt.adapter.aws_lambda.chalice_lazy_listener_runner import (
3438
ChaliceLazyListenerRunner,
@@ -41,14 +45,43 @@ <h1 class="title">Module <code>slack_bolt.adapter.aws_lambda.chalice_handler</co
4145
from slack_bolt.response import BoltResponse
4246

4347

48+
class LocalLambdaClient(BaseClient):
49+
&#34;&#34;&#34;Lambda client implementing `invoke` for use when running with Chalice CLI&#34;&#34;&#34;
50+
51+
def __init__(self, app: Chalice, config: Config) -&gt; None:
52+
self._app = app
53+
self._config = config
54+
55+
def invoke(
56+
self,
57+
FunctionName: str = None,
58+
InvocationType: str = &#34;Event&#34;,
59+
Payload: str = &#34;{}&#34;,
60+
) -&gt; InvokeResponse:
61+
scoped = self._config.scope(self._config.chalice_stage, FunctionName)
62+
lambda_context = LambdaContext(
63+
FunctionName, memory_size=scoped.lambda_memory_size
64+
)
65+
66+
with self._patched_env_vars(scoped.environment_variables):
67+
response = self._app(json.loads(Payload), lambda_context)
68+
return InvokeResponse(payload=response)
69+
70+
4471
class ChaliceSlackRequestHandler:
4572
def __init__(self, app: App, chalice: Chalice): # type: ignore
4673
self.app = app
4774
self.chalice = chalice
4875
self.logger = get_bolt_app_logger(app.name, ChaliceSlackRequestHandler)
76+
77+
lambda_client = None
78+
if getenv(&#34;AWS_CHALICE_CLI_MODE&#34;) == &#34;true&#34;:
79+
lambda_client = LocalLambdaClient(self.chalice, Config())
80+
4981
self.app.listener_runner.lazy_listener_runner = ChaliceLazyListenerRunner(
50-
logger=self.logger
82+
logger=self.logger, lambda_client=lambda_client
5183
)
84+
5285
if self.app.oauth_flow is not None:
5386
self.app.oauth_flow.settings.redirect_uri_page_renderer.install_path = &#34;?&#34;
5487

@@ -205,9 +238,15 @@ <h2 class="section-title" id="header-classes">Classes</h2>
205238
self.app = app
206239
self.chalice = chalice
207240
self.logger = get_bolt_app_logger(app.name, ChaliceSlackRequestHandler)
241+
242+
lambda_client = None
243+
if getenv(&#34;AWS_CHALICE_CLI_MODE&#34;) == &#34;true&#34;:
244+
lambda_client = LocalLambdaClient(self.chalice, Config())
245+
208246
self.app.listener_runner.lazy_listener_runner = ChaliceLazyListenerRunner(
209-
logger=self.logger
247+
logger=self.logger, lambda_client=lambda_client
210248
)
249+
211250
if self.app.oauth_flow is not None:
212251
self.app.oauth_flow.settings.redirect_uri_page_renderer.install_path = &#34;?&#34;
213252

@@ -338,6 +377,71 @@ <h3>Methods</h3>
338377
</dd>
339378
</dl>
340379
</dd>
380+
<dt id="slack_bolt.adapter.aws_lambda.chalice_handler.LocalLambdaClient"><code class="flex name class">
381+
<span>class <span class="ident">LocalLambdaClient</span></span>
382+
<span>(</span><span>app: chalice.app.Chalice, config: chalice.config.Config)</span>
383+
</code></dt>
384+
<dd>
385+
<div class="desc"><p>Lambda client implementing <code>invoke</code> for use when running with Chalice CLI</p></div>
386+
<details class="source">
387+
<summary>
388+
<span>Expand source code</span>
389+
</summary>
390+
<pre><code class="python">class LocalLambdaClient(BaseClient):
391+
&#34;&#34;&#34;Lambda client implementing `invoke` for use when running with Chalice CLI&#34;&#34;&#34;
392+
393+
def __init__(self, app: Chalice, config: Config) -&gt; None:
394+
self._app = app
395+
self._config = config
396+
397+
def invoke(
398+
self,
399+
FunctionName: str = None,
400+
InvocationType: str = &#34;Event&#34;,
401+
Payload: str = &#34;{}&#34;,
402+
) -&gt; InvokeResponse:
403+
scoped = self._config.scope(self._config.chalice_stage, FunctionName)
404+
lambda_context = LambdaContext(
405+
FunctionName, memory_size=scoped.lambda_memory_size
406+
)
407+
408+
with self._patched_env_vars(scoped.environment_variables):
409+
response = self._app(json.loads(Payload), lambda_context)
410+
return InvokeResponse(payload=response)</code></pre>
411+
</details>
412+
<h3>Ancestors</h3>
413+
<ul class="hlist">
414+
<li>chalice.test.BaseClient</li>
415+
</ul>
416+
<h3>Methods</h3>
417+
<dl>
418+
<dt id="slack_bolt.adapter.aws_lambda.chalice_handler.LocalLambdaClient.invoke"><code class="name flex">
419+
<span>def <span class="ident">invoke</span></span>(<span>self, FunctionName: str = None, InvocationType: str = 'Event', Payload: str = '{}') ‑> chalice.test.InvokeResponse</span>
420+
</code></dt>
421+
<dd>
422+
<div class="desc"></div>
423+
<details class="source">
424+
<summary>
425+
<span>Expand source code</span>
426+
</summary>
427+
<pre><code class="python">def invoke(
428+
self,
429+
FunctionName: str = None,
430+
InvocationType: str = &#34;Event&#34;,
431+
Payload: str = &#34;{}&#34;,
432+
) -&gt; InvokeResponse:
433+
scoped = self._config.scope(self._config.chalice_stage, FunctionName)
434+
lambda_context = LambdaContext(
435+
FunctionName, memory_size=scoped.lambda_memory_size
436+
)
437+
438+
with self._patched_env_vars(scoped.environment_variables):
439+
response = self._app(json.loads(Payload), lambda_context)
440+
return InvokeResponse(payload=response)</code></pre>
441+
</details>
442+
</dd>
443+
</dl>
444+
</dd>
341445
</dl>
342446
</section>
343447
</article>
@@ -368,6 +472,12 @@ <h4><code><a title="slack_bolt.adapter.aws_lambda.chalice_handler.ChaliceSlackRe
368472
<li><code><a title="slack_bolt.adapter.aws_lambda.chalice_handler.ChaliceSlackRequestHandler.handle" href="#slack_bolt.adapter.aws_lambda.chalice_handler.ChaliceSlackRequestHandler.handle">handle</a></code></li>
369473
</ul>
370474
</li>
475+
<li>
476+
<h4><code><a title="slack_bolt.adapter.aws_lambda.chalice_handler.LocalLambdaClient" href="#slack_bolt.adapter.aws_lambda.chalice_handler.LocalLambdaClient">LocalLambdaClient</a></code></h4>
477+
<ul class="">
478+
<li><code><a title="slack_bolt.adapter.aws_lambda.chalice_handler.LocalLambdaClient.invoke" href="#slack_bolt.adapter.aws_lambda.chalice_handler.LocalLambdaClient.invoke">invoke</a></code></li>
479+
</ul>
480+
</li>
371481
</ul>
372482
</li>
373483
</ul>

0 commit comments

Comments
 (0)