Отключить перенаправление следования в рамках Karate BDD?

У меня есть часть потока приложения, которая повторно использует старую службу входа в систему. Эта старая служба входа в систему использует 302 перенаправление с заголовком Location, который включает параметр запроса, который я должен записать и использовать в качестве кода аутентификации.

Прямо сейчас фреймворк Karate услужливо перенаправляет меня в местоположение, указанное в заголовке Location. Как я могу отключить это, чтобы вместо этого я мог сам фиксировать значения?

09:39:26.096 [main] DEBUG com.intuit.karate -
2 < 302
2 < Connection: keep-alive
2 < Content-Length: 0
2 < Content-Type: application/json;charset=ISO-8859-1
2 < Date: Fri, 08 Sep 2017 15:39:25 GMT
2 < Server: nginx/1.4.6 (Ubuntu)
2 < Set-Cookie: [JSESSIONID=0000UDF76JJ7ZGsFlTs9FPYcVoN:1bj4v930o; Path=/; HttpOnly, PD-S-SESSION-ID=1_2_1_upREX6Zqm0NTxJ5dNQeSyVeaiUFYnO1OdgUVYXYnekLFY-A7; Path=/; Secure; HttpOnly, PD-ID=ZugwEuE0PZmTNhZkIlog5FqfvlDKD2nfvKAZ+ebfTvVx2dzw0JAgyOMeviZx3xsxYndwQxGmURx6n32fscUXMw3X8P9FpNDssgIz355kfTeda/25qxPf+uaEvs8JpE2FxsMWkzQ25qM2KmrhAK9QTRu31oflpD6eL+klFfDahSSTQlFMXZmB4Yjsc8DOnoGAhbv19Yh9A8OuzDFXimwML2a+Yn9UYN/ZjRXF45veNQGsA9/dtP/nfZl6eAPyy7mdSKunhHuWggBtYFP9kAgmB1LJ87MFWsOhZEwcnmLsJM078tRStGLeOFo7KX+1FtMhhcV76UkTxDFj1VR68fSPdzF+84oeyxf0WhQ0UZB+oc76kQtl94B7uW4X/lp9jADlGUwrE8hPQ5asPcPblt6E0yPyi+TvouK/0XHpy7QfAeXZqyifs+yeUOKHBdHUXHI7QhnadEX0GViHPsqZ5amztnYkF5mMQLkdXYIO22oSHCtci7M08gr1usTLrHc/hIBm; Path=/; Secure; HttpOnly, BigIPWebSeal=rd3o00000000000000000000ffff0a1bf852o443; path=/]
2 < X-Application-Context: sv:dev:8080
2 < X-B3-Sampled: 1
2 < X-B3-SpanId: 3229b43a709ac873
2 < X-B3-TraceId: 3229b43a709ac873
2 < X-Backside-Transport: OK OK
2 < X-Client-IP: x.x.x.x
2 < X-Global-Transaction-ID: 1890531591
2 < cache-control: no-cache="set-cookie, set-cookie2"
2 < content-language: en-US
2 < expires: Thu, 01 Dec 1994 16:00:00 GMT
2 < iis_server_name: APPA014D
2 < location: https://a-url.com/path?code=a51769a482e5
2 < p3p: CP="NON CUR OTPi OUR NOR UNI"
2 < strict-transport-security: max-age=31536000; includeSubDomains
2 < x-powered-by: Servlet/3.0
2 < x-xss-protection: 1;mode=block

person PaulProgrammer    schedule 08.09.2017    source источник


Ответы (1)


Вау, если честно, об этом никто не просил. До настоящего времени. Похоже, нам придется добавить эту поддержку: http://www.baeldung.com/httpclient-stop-follow-redirect

Это можно реализовать довольно быстро, можете ли вы поднять запрос функции? Если это блокировщик, вы можете временно вызвать Java и использовать экземпляр Apache Http Client или что-то в этом роде. Мне было интересно, если бы у вас была возможность получить доступ к lastRedirectUrl, это помогло бы.

изменить: это было реализовано в dev и будет доступно в версии 0.6.0

person Peter Thomas    schedule 08.09.2017
comment
Я только что создал для этого запрос на перенос. github.com/intuit/karate/pull/176 - person PaulProgrammer; 08.09.2017
comment
Моя теория PR заключается в том, что разработчики API почти никогда не хотят слепо следовать перенаправлениям. - person PaulProgrammer; 08.09.2017
comment
Я бы с уважением не согласился. мир. - person Peter Thomas; 08.09.2017
comment
@PaulProgrammer - отредактировал пост с демонстрационным примером, после исправления в Каратэ. - person Peter Thomas; 10.09.2017