aboutsummaryrefslogtreecommitdiff
path: root/src/server/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/index.ts')
-rw-r--r--src/server/index.ts73
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) {