• Effectue une requête à l'API v4, à l'endpoint et avec les options spécifiées, puis renvoie la réponse obtenue.

    Parameters

    • path: string

      endpoint (chemin relatif) auquel adresser la requête. Exemple : accounts/login. La liste des endpoints est disponible sur JVFlux.

    • Optionaloptions: {
          allowedStatusErrors?: number[];
          bodyMode?: BodyMode;
          cookies?: Record<string, string>;
          data?: any;
          headers?: Record<string, string>;
          method?: HttpMethod;
          query?: Record<string, any>;
          retries?: number;
          retryDelay?: number;
      } = {}

      options permettant de modifier le comportement de la requête

      • OptionalallowedStatusErrors?: number[]

        contient les statuts HTTP signalant un échec à ignorer, c'est-à-dire ceux qui ne causeront pas l'erreur JvcResponseError si renvoyés. Contient par défaut les statuts 400 (Bad Request) et 404 (Not Found)

      • OptionalbodyMode?: BodyMode

        format du corps de la requête : "json" pour envoyer un objet (par défaut, Content-Type: application/json), "url" pour envoyer un objet URLSearchParams (Content-Type: x-www-form-urlencoded), "form" pour envoyer un objet FormData (Content-Type: multipart/form-data), "any" pour envoyer n'importe quel type de variable. Si "any" n'est pas choisi, c'est un objet qui est attendu en tant qu'argument data et qui sera automatiquement converti dans le type souhaité avec ajout du header approprié. Pour "any", la valeur de data sera envoyée telle quelle sans modification et le header Content-Type sera à renseigner par l'utilisateur

      • Optionalcookies?: Record<string, string>

        les cookies à envoyer sous forme d'objet associant au nom du cookie sa valeur

      • Optionaldata?: any

        le corps de la requête (pour méthodes POST et PUT). Doit être un objet sauf si bodyMode vaut "any".

      • Optionalheaders?: Record<string, string>

        les en-têtes à envoyer sous forme d'objet associant au nom de l'en-tête sa valeur

      • Optionalmethod?: HttpMethod

        méthode HTTP de la requête ("GET" par défaut)

      • Optionalquery?: Record<string, any>

        les paramètres URL à passer à la requête, sous forme d'objet associant au paramètre sa valeur

      • Optionalretries?: number

        nombre maximal de tentatives d'envoi de la requête au cas où une erreur 429 Too Many Requests se produit (par défaut 3)

      • OptionalretryDelay?: number

        délai entre chaque tentative en millisecondes (par défaut 2 000)

    Returns Promise<Response>

    JvcResponseError si un statut HTTP signalant un échec a été rencontré et qu'il n'est pas listé dans allowedStatusErrors