powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Геттеры и сеттеры JavaScript
7 сообщений из 7, страница 1 из 1
Геттеры и сеттеры JavaScript
    #38043526
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это код модуля cookie.js только что мною законченного.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
var http = require('http');
var qs = require('querystring');

(function() {
    // ServerRequest является объектом IncomingMessage
    var rq = http.IncomingMessage.prototype;
    var rs = http.ServerResponse.prototype;
    
    // меня интересует именно этот фрагмент кода, можно ли его переписать? меня смущает
    // что я засираю лишними свойствами обьект ServerRequest. про геттеры и сеттеры в yoba-скрипт
    // прочитал только сегодня, поэтому могу делать что-нибудь не так.
    // до этого был метод request.getCookie(name)
    Object.defineProperty(rq, 'cookie', {      
        get: function() { 
            if (this._cookie === undefined) {
                // куки парсятся только один раз при первом обращении к request.cookies
                this._cookie = qs.parse(this.headers['cookie'], '; ');
            }
            
            return this._cookie;
        }
    });
    
    rs.setCookie = function(name, value, expires, path, domain, secure, httponly) {       
        var cookie = this.getHeader('set-cookie');
        
        if (cookie === undefined) {
            cookie = [];
        }
        else if (typeof cookie == 'string') {
            cookie = [].concat(cookie);
        }
        
        cookie.push(name + '=' + qs.escape(value) +
        (expires === undefined ? '' : '; Expires=' + new Date(expires).toUTCString()) +
        (path ? '; Path=' + path : '') + (domain ? '; Domain=' + domain : '') +
        (secure ? '; Secure' : '') + (httponly ? '; HttpOnly' : ''));
        this.setHeader('set-cookie', cookie);
    }
    
    rs.removeCookie = function(name) {
        this.setCookie(name, '', 0);
    }
})();
...
Рейтинг: 0 / 0
Геттеры и сеттеры JavaScript
    #38043536
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати как правильно во множественном числе cookie или cookies?
...
Рейтинг: 0 / 0
Геттеры и сеттеры JavaScript
    #38043538
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенье - "cookie", печенья (более одного печенька) - "cоokies".
Как компьютерный термин, слово "cookie", по большому счету, не применяется, используется термин "cookies". Применение единственного числа обычно сопряжено с определением элемента массива, определяющего cookies.

P.S. Даже в статье про "куки" в Википедии, на мой взгляд, написана билеберда. По произношению "куки" вроде как происходит от единственного числа, хотя в русском сранслите убычно говорят "кука" (ед.) и "куки" (мн.). Более того, автор ниже, говоря сначала "куки" - "он/оно", потом говорит "куки" - "они".

P.P.S. По сути не отвечаю, так как по идеологическим соображениям устанавливаю куки в response сервера, определяя их на серверной стороне. Естественно, по реализации это не принципиально, но такой "пунктик" есть - не ставить их на клиенте.
...
Рейтинг: 0 / 0
Геттеры и сеттеры JavaScript
    #38043542
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVsbruck, ок cookies переименовал. тут и так куки в response ставятся, по-другому же нельзя.
...
Рейтинг: 0 / 0
Геттеры и сеттеры JavaScript
    #38043543
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckПо сути не отвечаю, так как по идеологическим соображениям устанавливаю куки в response сервера, определяя их на серверной стороне. Естественно, по реализации это не принципиально, но такой "пунктик" есть - не ставить их на клиенте.вроде как приведенный код и есть серверная сторона - сильно похоже на Node

А насчет клиентской работы с куками - в принципе, она теперь не слишком актуальна, т.к. localStorage есть даже в ИЕ8 (а в 7 какой-то заменитель, на 64 кб)
...
Рейтинг: 0 / 0
Геттеры и сеттеры JavaScript
    #38043544
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVsbruck, это node.js серверный javascript
...
Рейтинг: 0 / 0
Геттеры и сеттеры JavaScript
    #38043555
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: javascript
1.
2.
3.
4.
5.
6.
7.
rq.cookies; // первый раз обратились куки спарсили
rq.cookies = {}; // переопределяем
delete rq.cookies; // пробуем удалить
console.log(rq.cookies); // { bar: 'Bar' } свойство нельзя ни изменить ни удалить
rs.setHeader('Content-type', 'text/html; charset=utf-8'); 
rs.setCookie('bar', 'Bar', new Date().getTime() + 15 * MINUTE);
rs.end('Hello world');
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Геттеры и сеттеры JavaScript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]