Отправка ETag с $ ресурсом

Используя сервис $ resource Angular JS, есть ли способ указать заголовки If-None-Match и ETag для второго, третьего и т. Д. Опросов ресурса?

    var SummarySearch = $resource(<<apiurl>>,
        { },
        {
            get: {
                method: 'GET',
                headers: {
                    'x-header': 'id'
                }
            }
        });

Я получил это, чтобы работать для установки постоянного заголовка (это просто x-header: id в этом случае), но мне нужно что-то, что варьируется в зависимости от запроса, основываясь на ETag, который я видел в последний раз.

Обновить:

transformRequest Выглядело многообещающе, но у меня нет доступа к данным, с которых я инициировал запрос, или к URL-адресу, по которому эти данные оказались. Насколько я могу судить, у меня есть только доступ к телу, которое я буду отправлять (не определено в моем случае, так как я делаю GET) и функцию headersGetter.

1 ответ

Решение

Я обнаружил, что $resource обрабатывает ETags самостоятельно.

Когда я отправил этот вопрос, я не реализовал серверную часть вещей. Я настроил If-None-Match на стороне сервера, решив, что мне нужно будет просто использовать службу $ http на клиенте, но попробовал это с моим существующим вызовом $resource.get, и он обрабатывает настройку If-None-Match Заголовок автоматически после моего первого опроса ресурса.

Я повторно использую 1 экземпляр, который $resource вернул во время установки.

редактировать

И у меня есть реальная сделка jQuery вместо jqLite. Вот где, кажется, установлен If-None-Match.

    // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
    if ( s.ifModified ) {
        ifModifiedKey = ifModifiedKey || s.url;
        if ( jQuery.lastModified[ ifModifiedKey ] ) {
            jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] );
        }
        if ( jQuery.etag[ ifModifiedKey ] ) {
            jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] );
        }
    }
Другие вопросы по тегам