Traiter une réponse
ts
import { createHttpClient } from "@duplojs/http/client";
import { type Routes } from "./types";
const client = createHttpClient<Routes>({
baseUrl: "http://localhost:1506",
});
const response = await client
.get(
"/posts",
{ query: { page: "3" } },
)
.whenInformation(
"post.findMany",
({ body }) => {
},
)
.whenCode(
"422",
({ information }) => {
},
);
const eitherResponse = await client
.post(
"/users/{userId}/posts",
{
params: { userId: "1" },
body: {
title: "Super article",
content: "Super content of article",
},
},
)
.iWantInformationOrThrow("post.created");L'objet retourné par les méthodes get, post, patch, put, delete ou request s'appelle PromiseRequest. Cet objet a plein de méthodes pour traiter les réponses en fonction du besoin :
- Les méthodes commençant par
whensont de simples callbacks en fonction de leur configuration. - Les méthodes commençant par
iWantsont des promesses qui renvoient unEitherdu résultat demandé. - Les méthodes finissant par
OrThrowrenvoient uniquement le bon résultat, mais émettent une erreur au cas contraire.
INFO
L'objet PromiseRequest ne peut pas émettre d'erreur. Par défaut, il renverra toujours un Either.
