Response transformer
Response transformer is a function that transforms a given mocked response instance.
When using Mock Service Worker you don't have to write response transformers. Please treat this page as purely educational.
Example
For illustrational purposes let's create a simple response transformer:
1// src/mocks/redirectStatus.js2export function redirectStatus(res) {3 res.status = 3014 return res5}
The transformer above would always set the HTTP status code of the given response to 301
.
We can use this transformer by providing it as an argument to the res()
function in a response resolver:
1// src/mocks/index.js2import { redirectStatus } from './redirectStatus'34setupWorker(5 rest.get('/user', (req, res, ctx) => {6 return res(redirectStatus)7 }),8)
Of course, setting a fixed status code is rarely what you want. To parametrize this behavior, response transformers are often wrapped in high-order functions. In fact, this is how all of the standard-transformers are implemented (i.e. ctx.status(301)
).
Standards transformers
Please see the list of standard response transformers available in the ctx
argument of a response resolver.
Some response transformers are specific to the type of the API you are mocking (REST API or GraphQL), any may not be available when working with a different API type.