UNPKG

actionhero

Version:

actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks

293 lines 12.4 kB
<!doctype html> <html class="default no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>ActionMiddleware | actionhero</title> <meta name="description" content="Documentation for actionhero"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="../assets/css/main.css"> </head> <body> <header> <div class="tsd-page-toolbar"> <div class="container"> <div class="table-wrap"> <div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base=".."> <div class="field"> <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <input id="tsd-search-field" type="text" /> </div> <ul class="results"> <li class="state loading">Preparing search index...</li> <li class="state failure">The search index is not available</li> </ul> <a href="../index.html" class="title">actionhero</a> </div> <div class="table-cell" id="tsd-widgets"> <div id="tsd-filter"> <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <div class="tsd-filter-group"> <div class="tsd-select" id="tsd-filter-visibility"> <span class="tsd-select-label">All</span> <ul class="tsd-select-list"> <li data-value="public">Public</li> <li data-value="protected">Public/Protected</li> <li data-value="private" class="selected">All</li> </ul> </div> <input type="checkbox" id="tsd-filter-inherited" checked /> <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label> <input type="checkbox" id="tsd-filter-externals" checked /> <label class="tsd-widget" for="tsd-filter-externals">Externals</label> <input type="checkbox" id="tsd-filter-only-exported" /> <label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label> </div> </div> <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a> </div> </div> </div> </div> <div class="tsd-page-title"> <div class="container"> <ul class="tsd-breadcrumb"> <li> <a href="../globals.html">Globals</a> </li> <li> <a href="../modules/action.html">action</a> </li> <li> <a href="action.actionmiddleware.html">ActionMiddleware</a> </li> </ul> <h1>Interface ActionMiddleware</h1> </div> </div> </header> <div class="container container-main"> <div class="row"> <div class="col-8 col-content"> <section class="tsd-panel tsd-comment"> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>var middleware = { name: &#39;userId checker&#39;, global: false, priority: 1000, preProcessor: async (data) =&gt; { if(!data.params.userId){ throw new Error(&#39;All actions require a userId&#39;) } }, postProcessor: async (data) =&gt; { if(data.thing.stuff == false){ data.toRender = false } } }</p> </div> </div> </section> <section class="tsd-panel tsd-hierarchy"> <h3>Hierarchy</h3> <ul class="tsd-hierarchy"> <li> <span class="target">ActionMiddleware</span> </li> </ul> </section> <section class="tsd-panel-group tsd-index-group"> <h2>Index</h2> <section class="tsd-panel tsd-index-panel"> <div class="tsd-index-content"> <section class="tsd-index-section "> <h3>Properties</h3> <ul class="tsd-index-list"> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="action.actionmiddleware.html#global" class="tsd-kind-icon">global</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="action.actionmiddleware.html#name" class="tsd-kind-icon">name</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="action.actionmiddleware.html#postprocessor" class="tsd-kind-icon">post<wbr>Processor</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="action.actionmiddleware.html#preprocessor" class="tsd-kind-icon">pre<wbr>Processor</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="action.actionmiddleware.html#priority" class="tsd-kind-icon">priority</a></li> </ul> </section> </div> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Properties</h2> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="global" class="tsd-anchor"></a> <h3>global</h3> <div class="tsd-signature tsd-kind-icon">global<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/action.ts#L23">src/modules/action.ts:23</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Is this middleware applied to all actions?</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="name" class="tsd-anchor"></a> <h3>name</h3> <div class="tsd-signature tsd-kind-icon">name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/action.ts#L21">src/modules/action.ts:21</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Unique name for the middleware.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="postprocessor" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> post<wbr>Processor</h3> <div class="tsd-signature tsd-kind-icon">post<wbr>Processor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Function</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/action.ts#L29">src/modules/action.ts:29</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Called after the action runs.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="preprocessor" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> pre<wbr>Processor</h3> <div class="tsd-signature tsd-kind-icon">pre<wbr>Processor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Function</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/action.ts#L27">src/modules/action.ts:27</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Called before the action runs. Has access to all params, before sanitization. Can modify the data object for use in actions.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="priority" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> priority</h3> <div class="tsd-signature tsd-kind-icon">priority<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/action.ts#L25">src/modules/action.ts:25</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Module load order. Defaults to <code>api.config.general.defaultMiddlewarePriority</code>.</p> </div> </div> </section> </section> </div> <div class="col-4 col-menu menu-sticky-wrap menu-highlight"> <nav class="tsd-navigation primary"> <ul> <li class="globals "> <a href="../globals.html"><em>Globals</em></a> </li> <li class="current tsd-kind-namespace"> <a href="../modules/action.html">action</a> </li> <li class=" tsd-kind-namespace"> <a href="../modules/cache.html">cache</a> </li> <li class=" tsd-kind-namespace"> <a href="../modules/chatroom.html">chat<wbr>Room</a> </li> <li class=" tsd-kind-namespace"> <a href="../modules/i18n.html">i18n</a> </li> <li class=" tsd-kind-namespace"> <a href="../modules/redis.html">redis</a> </li> <li class=" tsd-kind-namespace"> <a href="../modules/route.html">route</a> </li> <li class=" tsd-kind-namespace"> <a href="../modules/spechelper.html">spec<wbr>Helper</a> </li> <li class=" tsd-kind-namespace"> <a href="../modules/task.html">task</a> </li> </ul> </nav> <nav class="tsd-navigation secondary menu-sticky"> <ul class="before-current"> </ul> <ul class="current"> <li class="current tsd-kind-interface tsd-parent-kind-namespace"> <a href="action.actionmiddleware.html" class="tsd-kind-icon">Action<wbr>Middleware</a> <ul> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="action.actionmiddleware.html#global" class="tsd-kind-icon">global</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="action.actionmiddleware.html#name" class="tsd-kind-icon">name</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="action.actionmiddleware.html#postprocessor" class="tsd-kind-icon">post<wbr>Processor</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="action.actionmiddleware.html#preprocessor" class="tsd-kind-icon">pre<wbr>Processor</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="action.actionmiddleware.html#priority" class="tsd-kind-icon">priority</a> </li> </ul> </li> </ul> <ul class="after-current"> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="../modules/action.html#addmiddleware" class="tsd-kind-icon">add<wbr>Middleware</a> </li> </ul> </nav> </div> </div> </div> <footer class="with-border-bottom"> <div class="container"> <h2>Legend</h2> <div class="tsd-legend-group"> <ul class="tsd-legend"> <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li> <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li> <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li> </ul> </div> </div> </footer> <div class="container tsd-generator"> <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p> </div> <div class="overlay"></div> <script src="../assets/js/main.js"></script> <script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script> </body> </html>