Tengo la siguiente función sin servidor
import type { APIGatewayEvent, Context } from 'aws-lambda' import { logger } from 'src/lib/logger' const request = require('request') export const handler = async (event: APIGatewayEvent, context: Context) => { const result = await sendToApi(event) return { statusCode: 200, headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ data: { result }, }), } } const sendToApi = function (event) { return new Promise((resolve) => { logger.info('Invoked twitter function') const { twitter } = JSON.parse(event.body) const options = { method: 'GET', url: `https://api.twitter.com/2/users/by/username/${twitter}?user.fields=profile_image_url`, headers: { Authorization: `Bearer ${process.env.TWITTER_BEARER_TOKEN}`, }, contentType: 'application/json', } request(options, function (error, response) { if (error) throw new Error(error) console.log('monkeyboogers', response.body) resolve(response.body) }) }) }y el siguiente código front-end que llama a la función
const profile = await fetch( `${window.location.origin}/.redwood/functions/twitter`, { method: 'POST', body: JSON.stringify({ twitter: twitter }), } ) console.log(await profile) setTwitter(await profile)El problema está en el servidor, la consola registra los datos correctamente, pero en la interfaz, la consola registra lo siguiente
body: (...) bodyUsed: false headers: Headers {} ok: true redirected: false status: 200 statusText: "OK" type: "basic" url: "http://localhost:8910/.redwood/functions/twitter" y dentro del cuerpo es solo ReadableStream
Sé que me falta alguna pieza clave, pero no estoy seguro al 100% de qué se trata. Gracias por cualquier ayuda de antemano. Lo aprecio mucho.