Добавление файлов cookie с сервером Dart?

Итак, у меня есть простой HttpServer:

import 'dart:io';
main() {
    HttpServer
        .bind("127.0.0.1", 80)
        .then((server) {
            server.listen((request) {             
                // Add cookie here how?                
                request.response.write("Howdy Darty cowboy!");
                request.response.close();
            });
        });    
}

Есть ли способ добавить файлы cookie в HttpResponse в Dart? Я вижу, что классы HttpResponse и HttpRequest имеют свойства cookies, и я могу получить к ним доступ, но я не могу понять, как добавить файл cookie.

Пробовал это:

request.response.cookies = ["name", "value"];

Но получил эту ошибку:

Error: The setter 'cookies' isn't defined for the class 'HttpResponse'. 

Значит, нет предустановленных методов работы с куками? Нужно ли мне добавлять собственные заголовки HTTP для добавления файлов cookie? Опять же, я вижу свойства заголовков в обоих классах, но не сеттеры и не геттеры!

Только начал играть с Дартом.

Примечание. Пожалуйста, не связывайте меня с внешними пакетами, я хотел бы сделать это с основными библиотеками Dart. Не хочу попасть в очередной ад npm! Отошел от Node.js из-за npm, но похоже, что pub идентичен, просто использует yaml.


person Matija    schedule 26.03.2019    source источник


Ответы (1)


request.response.cookies — это List<Cookie>, поэтому вам нужно add к нему (вместо того, чтобы назначать его равным).

Пытаться:

request.response.cookies.add(Cookie('name', 'value'));
person Richard Heap    schedule 26.03.2019
comment
Спасибо @Richard! Да, это интуитивно понятно, ‹Cookie› — это список, а у списка есть метод добавления! Все еще обдумываю Дарт, пока выглядит очень хорошо! Спасибо еще раз! - person Matija; 26.03.2019