2016-05-12 19 views
0

Ich bin derzeit bei der Integration von Amazon CloudSearch mit einer Front-End-Anwendung. Aufgrund eines bekannten CORS-Problems bin ich gezwungen, auch API Gateway zu verwenden.Wie erzwinge API Gateway, um Parameter nicht zu dekodieren oder CloudSearch zu erwarten dekodierten Schrägstrich?

Das Problem tritt auf, dass die Front-End-CloudSearch-Bibliothek die URL mit Codierungsparametern sendet. Diese Parameter werden vom API-Gateway empfangen, entschlüsselt und an CloudSearch weitergeleitet.

Gibt es eine Möglichkeit, CloudSearch so zu konfigurieren, dass ein dekodierter Schrägstrich akzeptiert wird? Gibt es eine Möglichkeit, das API-Gateway dazu zu bringen, den Parameter während des Weiterleitens nicht zu decodieren?

+0

haben Sie jemals eine Lösung gefunden? – john

Antwort

0

Ich kann das genaue Problem, das Sie ohne ein bestimmtes Beispiel haben, nicht ermitteln. Ich nehme an, dass Sie einen Abfragezeichenfolgenparameter an API Gateway übergeben und diesen Parameter dann als einen anderen Abfragezeichenfolgenparameter an CloudSearch übergeben.

Hier ist das erwartete Verhalten: Wenn Sie einen Abfragezeichenfolgenparameter an API Gateway übergeben, wird zuerst der Parameterwert durch URL dekodiert. Dadurch werden alle Zeichen decodiert, die prozentual codiert wurden, unabhängig davon, ob das ursprüngliche Zeichen prozentual codiert werden musste, um dem URL-RFC zu entsprechen. Wenn der Parameter als Abfragezeichenfolgenparameter an einen Integrationsendpunkt übergeben wird, verschlüsselt das API-Gateway den Parameterwert per Prozentcode, wobei nur die Zeichen codiert werden, die keine gültigen Zeichen in einem Abfragezeichenfolgenwert darstellen.

Aufgrund dieses Verhaltens ist es nicht klar, wie ein decodierter Schrägstrich an CloudFront übergeben wird. Wenn Sie ein bestimmtes Beispiel angeben können, kann ich weiter untersuchen.