Skip to content

node client with umami cloud - unable to parse response as json #8

@boly38

Description

@boly38

Hi

Context:
using umami client targetting an umami cloud website instance :

I'm trying to retrieve node client response as json.
and here is what I get

I changed the end of the script to show response

const response = await umamiClient.track(event);
console.log(`✮ Event ${JSON.stringify(event)}`);

// 1st test
// const json = await response.json();
// console.log(`Event response JSON : ${json}`);

// second test
// const text = await response.text();
// const base64ToString = Buffer.from(text, "base64").toString();
// console.log(`Event response base64ToString : ${base64ToString}`);

1st example console result is

✮ Event {"url":"/home","title":"title of /home","name":"button-click","data":{"color":"red"}}
undefined:1
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e------------REDACTED--------DZ7fFPYaLhXYo1iVf7mC41Cbk74-wGzQ
SRGQzxfq4
^

SyntaxError: Unexpected token 'e', "eyJhbGciOi"... is not valid JSON
    at JSON.parse (<anonymous>)
    at parseJSONFromBytes (node:internal/deps/undici/undici:4306:19)
    at successSteps (node:internal/deps/undici/undici:4288:27)
    at fullyReadBody (node:internal/deps/undici/undici:2724:9)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async consumeBody (node:internal/deps/undici/undici:4297:7)

Second example console result is

✮ Event {"url":"/home","title":"title of /home","name":"button-click","data":{"color":"red"}}
Event response base64ToString : {"alg":"HS256","typ":"JWT"}{"id":"2e5bdff5---REDACTED--ce98dec9eb59","websiteId":"b1eb5f43--REDACTED--44549dddd65e","visitId":"9c53435d--REDACTED--05c660a
7c840","browser":null,"os":null,"country":"FR","subdivision1":"FR-IDF","city":"Paris","iat":1730924085}☼↔��Y��Z�wloF��G�q<{)|l
�q1�1f{�

I just redacted some part of the id.

Is this a client or backend (cloud) issue ?

I suspect backend because I even tried to use a patched version of the client adding "Accept: application/json to the request but I got the same issue.
It's a kind of base64 of the (json + other data)...

Any hint appreciated.

regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions