Recipes
Authentication
You can use the getClient
option to add authentication to your routes. For example, if you want to add a JWT authentication to your routes, you can do:
import { createRoute } from 'agrume'
const getUser = ({ token }) => {
// ...
}
const getAgrumeClient = (requestOptions) => {
return async (parameters) => {
const token = localStorage.getItem('token')
const response = await fetch(
`http://localhost:3000${requestOptions.url}`,
{
...requestOptions,
body: JSON.stringify({
...parameters,
token
})
}
)
return response.json()
}
}
const authenticatedRoute = createRoute(
async (parameters) => {
const user = await getUser(parameters)
return user
},
{
getClient: getAgrumeClient
},
)
React Native/Metro
Look at the metro.config.js
, babel.config.js
and package.json
files in the Yvees repository to see how you can configure Agrume with React Native.
Other examples
You can find examples in the examples directory.