| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -10,17 +10,20 @@ exports.lambdaHandler = awslambda.streamifyResponse(async (event, responseStream | |||
| 10 | 10 | let headers = Object.fromEntries(Object.entries(event.headers).filter( | |
| 11 | 11 | ([key]) => !key.startsWith('x-') && key.toLowerCase() !== 'host' | |
| 12 | 12 | )); | |
| 13 | + | ||
| 14 | + const httpRequest = { | ||
| 15 | + method: event.requestContext.http.method, | ||
| 16 | + path: event.rawPath, | ||
| 17 | + url: 'https:/' + event.rawPath + (event.rawQueryString ? '?' + event.rawQueryString : ''), | ||
| 18 | + data: event.body || '', | ||
| 19 | + headers: headers, | ||
| 20 | + responseType: 'stream', | ||
| 21 | + timeout: 600 * 1000, // 10 minutes | ||
| 22 | + } | ||
| 23 | + | ||
| 13 | 24 | let httpResponse; | |
| 14 | 25 | try { | |
| 15 | - httpResponse = await axios({ | ||
| 16 | - method: event.requestContext.http.method, | ||
| 17 | - path: event.rawPath, | ||
| 18 | - url: 'https:/' + event.rawPath + (event.rawQueryString ? '?' + event.rawQueryString : ''), | ||
| 19 | - data: event.body || '', | ||
| 20 | - headers: headers, | ||
| 21 | - responseType: 'stream', | ||
| 22 | - timeout: 600 * 1000, // 10 minutes | ||
| 23 | - }); | ||
| 26 | + httpResponse = await axios(httpRequest); | ||
| 24 | 27 | } catch (error) { | |
| 25 | 28 | if (error.response) { | |
| 26 | 29 | await pipeline( | |
@@ -37,14 +40,15 @@ exports.lambdaHandler = awslambda.streamifyResponse(async (event, responseStream | |||
| 37 | 40 | headers = Object.fromEntries(Object.entries(httpResponse.headers).filter( | |
| 38 | 41 | ([key]) => !key.startsWith('x-') | |
| 39 | 42 | )); | |
| 40 | - delete headers['content-length']; | ||
| 43 | + | ||
| 41 | 44 | await pipeline( | |
| 42 | 45 | httpResponse.data, | |
| 43 | 46 | awslambda.HttpResponseStream.from(responseStream, { | |
| 44 | 47 | statusCode: httpResponse.status, | |
| 45 | 48 | headers: headers, | |
| 46 | 49 | }), | |
| 47 | 50 | ); | |
| 51 | + | ||
| 48 | 52 | } catch (error) { | |
| 49 | 53 | console.error(error); | |
| 50 | 54 | responseStream = awslambda.HttpResponseStream.from(responseStream, { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -18,6 +18,7 @@ exports.lambdaHandler = awslambda.streamifyResponse(async (event, responseStream | |||
| 18 | 18 | ([key]) => !key.startsWith('x-') | |
| 19 | 19 | )); | |
| 20 | 20 | headers['host'] = proxy_url.hostname; | |
| 21 | + | ||
| 21 | 22 | const httpRequest = { | |
| 22 | 23 | method: event.requestContext.http.method, | |
| 23 | 24 | path: event.rawPath, | |
@@ -27,6 +28,7 @@ exports.lambdaHandler = awslambda.streamifyResponse(async (event, responseStream | |||
| 27 | 28 | responseType: 'stream', | |
| 28 | 29 | timeout: 600 * 1000, // 10 minutes | |
| 29 | 30 | }; | |
| 31 | + | ||
| 30 | 32 | const credentials = await defaultProvider()(); | |
| 31 | 33 | const signer = new SignatureV4({ | |
| 32 | 34 | credentials: credentials, | |
@@ -35,6 +37,7 @@ exports.lambdaHandler = awslambda.streamifyResponse(async (event, responseStream | |||
| 35 | 37 | sha256: Sha256, | |
| 36 | 38 | }); | |
| 37 | 39 | const signedRequest = await signer.sign(httpRequest); | |
| 40 | + | ||
| 38 | 41 | let httpResponse; | |
| 39 | 42 | try { | |
| 40 | 43 | httpResponse = await axios(signedRequest); | |
@@ -54,13 +57,15 @@ exports.lambdaHandler = awslambda.streamifyResponse(async (event, responseStream | |||
| 54 | 57 | headers = Object.fromEntries(Object.entries(httpResponse.headers).filter( | |
| 55 | 58 | ([key]) => !key.startsWith('x-') | |
| 56 | 59 | )); | |
| 60 | + | ||
| 57 | 61 | await pipeline( | |
| 58 | 62 | httpResponse.data, | |
| 59 | 63 | awslambda.HttpResponseStream.from(responseStream, { | |
| 60 | 64 | statusCode: httpResponse.status, | |
| 61 | 65 | headers: headers, | |
| 62 | 66 | }), | |
| 63 | 67 | ); | |
| 68 | + | ||
| 64 | 69 | } catch (error) { | |
| 65 | 70 | console.error(error); | |
| 66 | 71 | responseStream = awslambda.HttpResponseStream.from(responseStream, { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments