Files
medusa-store/www/apps/docs/content/references/services/classes/MiddlewareService.mdx
Shahed Nasser c6dff873de docs: update docusaurus to v3 (#5625)
* update dependencies

* update onboarding mdx

* fixes for mdx issues

* fixes for mdx compatibility

* resolve mdx errors

* fixes in reference

* fix check errors

* revert change in vale action

* fix node version in action

* fix summary in markdown
2023-11-13 20:11:50 +02:00

406 lines
7.4 KiB
Plaintext

---
displayed_sidebar: servicesSidebar
---
import ParameterTypes from "@site/src/components/ParameterTypes"
# MiddlewareService
Orchestrates dynamic middleware registered through the Medusa Middleware API
## Constructors
### constructor
`**new MiddlewareService**()`
## Properties
<ParameterTypes parameters={[
{
"name": "postAuthentication_",
"type": "[middlewareType](../types/middlewareType.mdx)[]",
"description": "",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
},
{
"name": "preAuthentication_",
"type": "[middlewareType](../types/middlewareType.mdx)[]",
"description": "",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
},
{
"name": "preCartCreation_",
"type": "RequestHandler&#60;ParamsDictionary, any, any, ParsedQs, Record&#60;string, any&#62;&#62;[]",
"description": "",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
},
{
"name": "routers",
"type": "`Record<string, Router[]>`",
"description": "",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
}
]} />
## Methods
### addPostAuthentication
`**addPostAuthentication**(middleware, options): void`
Adds a middleware function to be called after authentication is completed.
#### Parameters
<ParameterTypes parameters={[
{
"name": "middleware",
"type": "[middlewareHandlerType](../types/middlewareHandlerType.mdx)",
"description": "the middleware function. Should return a middleware function.",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
},
{
"name": "options",
"type": "`Record<string, unknown>`",
"description": "the arguments that will be passed to the middleware",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
}
]} />
#### Returns
`void`
<ParameterTypes parameters={[
{
"name": "void",
"type": "`void`",
"optional": true,
"defaultValue": "",
"description": "void",
"expandable": false,
"children": []
}
]} />
___
### addPreAuthentication
`**addPreAuthentication**(middleware, options): void`
Adds a middleware function to be called before authentication is completed.
#### Parameters
<ParameterTypes parameters={[
{
"name": "middleware",
"type": "[middlewareHandlerType](../types/middlewareHandlerType.mdx)",
"description": "the middleware function. Should return a middleware function.",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
},
{
"name": "options",
"type": "`Record<string, unknown>`",
"description": "the arguments that will be passed to the middleware",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
}
]} />
#### Returns
`void`
<ParameterTypes parameters={[
{
"name": "void",
"type": "`void`",
"optional": true,
"defaultValue": "",
"description": "void",
"expandable": false,
"children": []
}
]} />
___
### addPreCartCreation
`**addPreCartCreation**(middleware): void`
Adds a middleware function to be called before cart creation
#### Parameters
<ParameterTypes parameters={[
{
"name": "middleware",
"type": "RequestHandler&#60;ParamsDictionary, any, any, ParsedQs, Record&#60;string, any&#62;&#62;",
"description": "the middleware function. Should return a middleware function.",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
}
]} />
#### Returns
`void`
<ParameterTypes parameters={[
{
"name": "void",
"type": "`void`",
"optional": true,
"defaultValue": "",
"description": "",
"expandable": false,
"children": []
}
]} />
___
### addRouter
`**addRouter**(path, router): void`
#### Parameters
<ParameterTypes parameters={[
{
"name": "path",
"type": "`string`",
"description": "",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
},
{
"name": "router",
"type": "Router",
"description": "",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
}
]} />
#### Returns
`void`
<ParameterTypes parameters={[
{
"name": "void",
"type": "`void`",
"optional": true,
"defaultValue": "",
"description": "",
"expandable": false,
"children": []
}
]} />
___
### getRouters
`**getRouters**(path): Router[]`
#### Parameters
<ParameterTypes parameters={[
{
"name": "path",
"type": "`string`",
"description": "",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
}
]} />
#### Returns
Router[]
<ParameterTypes parameters={[
{
"name": "Router[]",
"type": "Router[]",
"optional": false,
"defaultValue": "",
"description": "",
"expandable": false,
"children": []
}
]} />
___
### usePostAuthentication
`**usePostAuthentication**(app): void`
Adds post authentication middleware to an express app.
#### Parameters
<ParameterTypes parameters={[
{
"name": "app",
"type": "Router",
"description": "the express app to add the middleware to",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
}
]} />
#### Returns
`void`
<ParameterTypes parameters={[
{
"name": "void",
"type": "`void`",
"optional": true,
"defaultValue": "",
"description": "",
"expandable": false,
"children": []
}
]} />
___
### usePreAuthentication
`**usePreAuthentication**(app): void`
Adds pre authentication middleware to an express app.
#### Parameters
<ParameterTypes parameters={[
{
"name": "app",
"type": "Router",
"description": "the express app to add the middleware to",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
}
]} />
#### Returns
`void`
<ParameterTypes parameters={[
{
"name": "void",
"type": "`void`",
"optional": true,
"defaultValue": "",
"description": "",
"expandable": false,
"children": []
}
]} />
___
### usePreCartCreation
`**usePreCartCreation**(): RequestHandler&#60;ParamsDictionary, any, any, ParsedQs, Record&#60;string, any&#62;&#62;[]`
#### Returns
RequestHandler&#60;ParamsDictionary, any, any, ParsedQs, Record&#60;string, any&#62;&#62;[]
<ParameterTypes parameters={[
{
"name": "RequestHandler&#60;ParamsDictionary, any, any, ParsedQs, Record&#60;string, any&#62;&#62;[]",
"type": "RequestHandler&#60;ParamsDictionary, any, any, ParsedQs, Record&#60;string, any&#62;&#62;[]",
"optional": false,
"defaultValue": "",
"description": "",
"expandable": false,
"children": []
}
]} />
___
### validateMiddleware\_
`**validateMiddleware_**(fn): void`
Validates a middleware function, throws if fn is not of type function.
#### Parameters
<ParameterTypes parameters={[
{
"name": "fn",
"type": "`unknown`",
"description": "the middleware function to validate.",
"optional": false,
"defaultValue": "",
"expandable": false,
"children": []
}
]} />
#### Returns
`void`
<ParameterTypes parameters={[
{
"name": "void",
"type": "`void`",
"optional": true,
"defaultValue": "",
"description": "nothing if the middleware is a function",
"expandable": false,
"children": []
}
]} />