@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
73 lines (38 loc) • 2.09 kB
Markdown
---
lang: en
title: 'API docs: rest.middlewaresequence.handle'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
sidebar: lb4_sidebar
editurl: https://github.com/loopbackio/loopback-next/tree/master/packages/rest
permalink: /doc/en/lb4/apidocs.rest.middlewaresequence.handle.html
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@loopback/rest](./rest.md) > [MiddlewareSequence](./rest.middlewaresequence.md) > [handle](./rest.middlewaresequence.handle.md)
## MiddlewareSequence.handle() method
Runs the default sequence. Given a handler context (request and response), running the sequence will produce a response or an error.
Default sequence executes these groups of middleware:
- `cors`<!-- -->: Enforces `CORS` - `openApiSpec`<!-- -->: Serves OpenAPI specs - `findRoute`<!-- -->: Finds the appropriate controller method, swagger spec and args for invocation - `parseParams`<!-- -->: Parses HTTP request to get API argument list - `invokeMethod`<!-- -->: Invokes the API which is defined in the Application controller method
In front of the groups above, we have a special middleware called `sendResponse`<!-- -->, which first invokes downstream middleware to get a result and handles the result or error respectively.
- Writes the result from API into the HTTP response (if the HTTP response has not been produced yet by the middleware chain. - Catches error logs it using 'logError' if any of the above steps in the sequence fails with an error.
**Signature:**
```typescript
handle(context: RequestContext): Promise<void>;
```
## Parameters
<table><thead><tr><th>
Parameter
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td markdown="1">
context
</td><td markdown="1">
[RequestContext](./rest.requestcontext.md)
</td><td markdown="1">
The request context: HTTP request and response objects, per-request IoC container and more.
</td></tr>
</tbody></table>
**Returns:**
Promise<void>