diff options
author | Sam Wilkins <samwilkins333@gmail.com> | 2019-07-30 03:49:18 -0400 |
---|---|---|
committer | Sam Wilkins <samwilkins333@gmail.com> | 2019-07-30 03:49:18 -0400 |
commit | 79f47098381fef8e247ddb45ce56993669f218cb (patch) | |
tree | c7fb7e88586c2eba65ad0b5e8e2bf11a2c1b29cd /src/server/index.ts | |
parent | 3152e69dfafe1c393bed38f3aad1e55881e62a33 (diff) | |
parent | e041988b84553797699a5a232e26e72252460e01 (diff) |
successful implementation of different approach
Diffstat (limited to 'src/server/index.ts')
-rw-r--r-- | src/server/index.ts | 73 |
1 files changed, 16 insertions, 57 deletions
diff --git a/src/server/index.ts b/src/server/index.ts index 0a02b667e..f4bbd4423 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -300,7 +300,6 @@ const ServicesApiKeyMap = new Map<string, string | undefined>([ ["face", process.env.FACE], ["vision", process.env.VISION], ["handwriting", process.env.HANDWRITING], - ["transcription", process.env.TRANSCRIPTION] ]); addSecureRoute(Method.GET, (user, res, req) => { @@ -308,60 +307,6 @@ addSecureRoute(Method.GET, (user, res, req) => { res.send(ServicesApiKeyMap.get(service)); }, undefined, `${RouteStore.cognitiveServices}/:requestedservice`); -addSecureRoute( - Method.GET, - (user, res, req) => { - let asset = req.params.asset; - let pushStream = AudioInputStream.createPushStream(); - let readStream = fs.createReadStream(path.join(__dirname, '../../deploy/assets/' + asset)); - - let apiKey = process.env.TRANSCRIPTION; - if (!apiKey) { - res.send(undefined); - return; - } - - console.log("API KEY FOUND: ", apiKey); - - readStream.on('data', arrayBuffer => { - pushStream.write(arrayBuffer.buffer); - console.log(arrayBuffer.buffer); - }); - readStream.on('end', () => pushStream.close()); - readStream.on('error', (error) => { - console.log("ERROR! ", error); - res.end(error); - }); - - let audioConfig = AudioConfig.fromStreamInput(pushStream); - let speechConfig = SpeechConfig.fromSubscription(apiKey, "eastus"); - - console.log("Here are the configs!"); - console.log(audioConfig); - console.log(speechConfig); - - speechConfig.speechRecognitionLanguage = "en-US"; - - let recognizer: Opt<SpeechRecognizer> = new SpeechRecognizer(speechConfig, audioConfig); - recognizer.recognizeOnceAsync( - (result: SpeechRecognitionResult) => { - console.log("RESULT! ", result); - res.send(result); - recognizer && recognizer.close(); - recognizer = undefined; - }, - (error: string) => { - console.log("RESULT ERROR: ", error); - res.send(error); - recognizer && recognizer.close(); - recognizer = undefined; - }, - ); - }, - undefined, - `${RouteStore.audioData}/:asset` -); - class NodeCanvasFactory { create = (width: number, height: number) => { var canvas = createCanvas(width, height); @@ -494,8 +439,22 @@ app.post(RouteStore.forgot, postForgot); app.get(RouteStore.reset, getReset); app.post(RouteStore.reset, postReset); -app.use(RouteStore.corsProxy, (req, res) => - req.pipe(request(decodeURIComponent(req.url.substring(1)))).pipe(res)); +const headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; +app.use(RouteStore.corsProxy, (req, res) => { + req.pipe(request(decodeURIComponent(req.url.substring(1)))).on("response", res => { + const headers = Object.keys(res.headers); + headers.forEach(headerName => { + const header = res.headers[headerName]; + if (Array.isArray(header)) { + res.headers[headerName] = header.filter(h => !headerCharRegex.test(h)); + } else if (header) { + if (headerCharRegex.test(header as any)) { + delete res.headers[headerName]; + } + } + }); + }).pipe(res); +}); app.get(RouteStore.delete, (req, res) => { if (release) { |