Плагин Rest: настройка cookie не работает
Я хочу вызвать аутентифицированный URL на сервере, который аутентифицирован SSO. Для этого я копирую куки, которые есть в запросе к HTTPClient. Ниже код работает нормально.
def cookies = []
request.getCookies().each {
def cookie = new BasicClientCookie(it.name, it.value)
cookie['domain'] = it.domain
cookie['path'] = it.path
cookie.secure = true
cookies.add(cookie)
}
// **** Setting cookies using header *****
def output = withHttp(uri: "https://testserver.com") {
def builder = delegate;
def html = get(path : '/testactoin.do',
headers:['Cookie':cookies.collect{it.name+"="+it.value}.join("; ")],
contentType : ContentType.XML,
query :
[
query: params.query,
count: params.count,
cacheName: 'contentStoreCityState',
filterString: 'address.country=CA,GB,US'
]
)
return html
}
Однако, если я пытаюсь установить куки с помощью API, это не работает. Смотрите фрагмент кода ниже:
def cookies = []
request.getCookies().each {
def cookie = new BasicClientCookie(it.name, it.value)
cookie['domain'] = it.domain
cookie['path'] = it.path
cookie.secure = true
cookies.add(cookie)
}
def output = withHttp(uri: "https://testserver.com") {
def builder = delegate;
// **** Setting cookies using api call *****
cookies.each {
builder.client.cookieStore.addCookie(it)
}
def html = get(path : '/testactoin.do',
contentType : ContentType.XML,
query :
[
query: params.query,
count: params.count,
cacheName: 'contentStoreCityState',
filterString: 'address.country=CA,GB,US'
]
)
return html
}
Что является проблемой при настройке файлов cookie с использованием метода addCookie? Ни он не генерирует никаких исключений, ни каких-либо предупреждений.
1 ответ
В своем первом фрагменте кода вы устанавливаете Cookie, но заголовок на самом деле Set-Cookie.