|
|
|
|
АРХИВ :: nginx-ru
|
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Не сохраняются cookie из http-обработчика
- To: nginx-ru@xxxxxxxxx
- Subject: Не сохраняются cookie из http-обработчика
- From: "Sergey S." <neavirc@xxxxxxxxx>
- Date: Wed, 26 Mar 2008 08:52:02 -0700
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=QPzUWML9QvLaGhD/pyVNnjQrvCxX+1z0oUnQP8J91xs=; b=ZpxeDYaVoz/NgXg3QBTOzDpCzRG/nMUserWj+X4h5rT4l/cW2AN8HmsTYB4ihY0w7H4i959oJ8B49C+kfzK1+1ITqKMblHfWUMdnzsHGzHBVKrRGt9on8hul7IViXwlTUJw1y10bT4auEWCQrU5aY2aQwt8kl5OuK7OVpdt4cYo=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:to:subject:mime-version:content-type; b=ZLdISZeQGyQSIUkzUnZK+zXcqmb2E1bRaB0oBexscp8W3QYv9Jd5JYjNFWmLWxxFljQ1Y410IVvyMQI+X9nCMBvwBvaHugTqOBbmzoXZf/qbjk6Sn0rcXQKoyexa4/1kOKn2zt84E7EvcvPTGMMxI0diy0my+gb45OYN111u+6A=
Здравствуйте.
Почему-то не получается сохранить cookie из http-обработчика. Не подскажите, где ошибка?
Сам обработчик:
static ngx_int_t ngx_http_test_handler(ngx_http_request_t *r) { ngx_table_elt_t** raw_cookies = static_cast<ngx_table_elt_t**>(r->headers_in.cookies.elts);
cout << stdstr(raw_cookies[0]->value) << endl; // stdstr() конвертирует ngx_str_t в std::string
ngx_table_elt_t* set_cookie = static_cast<ngx_table_elt_t*>(ngx_list_push(&r->headers_out.headers));
set_cookie->hash = 1; set_cookie->key.len = sizeof("Set-Cookie") - 1; set_cookie->key.data = ""
set_cookie->value.len = sizeof("foobar") - 1; set_cookie->value.data = "" // этот cookie не будет сохранен у клиента
ngx_http_send_header(r);
return NGX_OK;
}
Устанавливается обработчик так:
static ngx_command_t ngx_http_test_commands[] = {
{ ngx_string("test"), NGX_HTTP_LOC_CONF|NGX_CONF_NOARGS, ngx_http_test_install_handler,
NGX_HTTP_LOC_CONF_OFFSET, 0, NULL }, // ... ngx_null_command } static char* ngx_http_test_install_handler(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { ngx_http_core_loc_conf_t* clcf = static_cast<ngx_http_core_loc_conf_t*>(ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module));
clcf->handler = ngx_http_test_handler;
return NGX_CONF_OK;
}
nginx 0.6.29
Спасибо.
-- С уважением, Сергей Самохин.
|
|
|