Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

192
Vistas
Parse.Cloud.httpRequest devuelve 'indefinido' en lugar de una respuesta usando el método POST

Estoy haciendo una Parse.Cloud.httpRequest usando el método POST para recuperar un token de una API en una función de código en la nube de Back4App llamada 'retrieveToken'.

 Parse.Cloud.define("retrieveToken", async(request) => { Parse.Cloud.httpRequest({ method: 'POST', url: 'https://.......', headers: { 'Content-Type': 'application/json;charset=utf-8' }, body: { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "...", "password": "...", "domain": { "name": "..." } } } }, "scope": { "project": { "id": "..." } } } } }).then(function(httpResponse) { console.log('Token retrieved successfully, Status Code: ', httpResponse.status, ',\n', httpResponse.text); }, function(httpResponse) { console.error('Failed to retrieve token, retrieveToken: ', httpResponse.status, ',\n', httpResponse.text); }); });

Funciona bien si elimino "project": {"id": "..."} del 'alcance' del cuerpo JSON de httpRequest.

Sin embargo, me devuelve 'indefinido' si no elimino ese fragmento de código.

Tengo que mantener ese fragmento de código allí porque la API me devolverá un token de nivel de proyecto solo si especifico la identificación del proyecto. De lo contrario, obtendré un token de nivel global, que no se puede usar en mi caso.

La API funciona perfectamente con/sin la identificación del proyecto especificada en Postman.

Ya me he quedado aquí por un día entero y todavía no puedo resolverlo. ¿Dónde estoy haciendo mal y cómo puedo obtener la respuesta correcta de Parse.Cloud.httpRequest con la identificación del proyecto especificada?

Actualizar :

Encontré que la longitud del contenido de las respuestas es bastante diferente con/sin la identificación del proyecto especificada usando Postman.

'content-length' = 6752 Bytes sin la identificación del proyecto especificada

'content-length' = 16896 Bytes con la identificación del proyecto especificada

¿Por casualidad el 'indefinido' fue causado por el límite de tamaño de respuesta? Si este es el motivo, ¿cómo puedo obtener la respuesta correcta? ¿Puedo recibir solo el encabezado?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Parte del problema ocurre porque no devuelve la respuesta http. Prueba esto:

 Parse.Cloud.define("retrieveToken", (request) => { return Parse.Cloud.httpRequest({ method: 'POST', url: 'https://.......', headers: { 'Content-Type': 'application/json;charset=utf-8' }, body: { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "...", "password": "...", "domain": { "name": "..." } } } }, "scope": { "project": { "id": "..." } } } } }).then(function(httpResponse) { console.log('Token retrieved successfully, Status Code: ', httpResponse.status, ',\n', httpResponse.text); return httpResponse; }, function(httpResponse) { console.error('Failed to retrieve token, retrieveToken: ', httpResponse.status, ',\n', httpResponse.text); return httpResponse; }); });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Este problema se resolvió agregando una variable de entorno a mi servidor Back4App.

 NODE_OPTIONS="--max-http-header-size=16384"

Conocí el problema exacto (desbordamiento de encabezado) usando el siguiente código:

 Parse.Cloud.define("retrieveToken", async(request) => { return Parse.Cloud.httpRequest({ method: 'POST', url: 'https://.......', headers: { 'Content-Type': 'application/json;charset=utf-8' }, body: { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "...", "password": "...", "domain": { "name": "..." } } } }, "scope": { "project": { "id": "..." } } } } }); });

Solo el código anterior me devolvió el error a continuación, y todos los demás códigos me devolvieron 'indefinido':

 [Error]: Parse Error: Header overflow (Code: 141, Version: 1.19.2)

FYI: estoy llamando a esta API

 https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/tokens
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda