<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>@muze-nl/metro-middleware :: MetroJS</title><link>https://metro.muze.nl/packages/metro-middleware/index.html</link><description>@muze-nl/metro-middleware npm install @muze-nl/metro-core @muze-nl/metro-middleware import { client } from '@muze-nl/metro-core' import { json, retry, timeout } from '@muze-nl/metro-middleware' const api = client('https://jsonplaceholder.typicode.com/') .with(timeout(5000), retry({ attempts: 3 }), json()) const response = await api.get('/posts/1') console.log(response.data) Use this package for generic request/response behaviour that should not live in the core client.
Reference See reference. For custom middleware, start with the root guide: Writing Metro middleware.</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://metro.muze.nl/packages/metro-middleware/index.xml" rel="self" type="application/rss+xml"/><item><title>@muze-nl/metro-middleware</title><link>https://metro.muze.nl/packages/metro-middleware/readme/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://metro.muze.nl/packages/metro-middleware/readme/index.html</guid><description>@muze-nl/metro-middleware npm install @muze-nl/metro-core @muze-nl/metro-middleware import { client } from '@muze-nl/metro-core' import { json, retry, timeout } from '@muze-nl/metro-middleware' const api = client('https://jsonplaceholder.typicode.com/') .with(timeout(5000), retry({ attempts: 3 }), json()) const response = await api.get('/posts/1') console.log(response.data) Use this package for generic request/response behaviour that should not live in the core client.
Reference See reference. For custom middleware, start with the root guide: Writing Metro middleware.</description></item><item><title>Reference</title><link>https://metro.muze.nl/packages/metro-middleware/reference/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://metro.muze.nl/packages/metro-middleware/reference/index.html</guid><description>@muze-nl/metro-middleware reference import { json, thrower, getdata, retry, timeout, abort, backoff, echoMock, errorMock } from '@muze-nl/metro-middleware' Middleware is added to a Metro client with .with():
const api = client('https://jsonplaceholder.typicode.com/') .with(timeout(5000), retry({ attempts: 3 }), json(), thrower()) json(options) const api = client('https://jsonplaceholder.typicode.com/').with(json()) const response = await api.post('/posts', { body: { title: 'Metro', userId: 1 } }) console.log(response.data) Adds Accept: application/json when missing, serializes plain object request bodies to JSON for non-GET/HEAD requests, and parses JSON responses into response.data.</description></item></channel></rss>