| | 'use server' |
| |
|
| | import { NextApiRequest, NextApiResponse } from 'next' |
| | import { Readable } from 'node:stream' |
| | import { fetch } from '@/lib/isomorphic' |
| |
|
| | const API_DOMAIN = 'https://www.bing.com' |
| |
|
| | export default async function handler(req: NextApiRequest, res: NextApiResponse) { |
| | try { |
| | const { bcid } = req.query |
| |
|
| | const { headers, body } = await fetch(`${API_DOMAIN}/images/blob?bcid=${bcid}`, |
| | { |
| | method: 'GET', |
| | headers: { |
| | "sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"", |
| | "sec-ch-ua-mobile": "?0", |
| | "sec-ch-ua-platform": "\"Windows\"", |
| | "Referrer-Policy": "origin-when-cross-origin", |
| | }, |
| | }, |
| | ) |
| |
|
| | res.writeHead(200, { |
| | 'Content-Length': headers.get('content-length')!, |
| | 'Content-Type': headers.get('content-type')!, |
| | }) |
| | |
| | return Readable.fromWeb(body!).pipe(res) |
| | } catch (e) { |
| | console.log('Error', e) |
| | return res.json({ |
| | result: { |
| | value: 'UploadFailed', |
| | message: `${e}` |
| | } |
| | }) |
| | } |
| | } |
| |
|