2015-01-16 2 views
1

Я использую Grails 2.4.4 с Cache Headers Plugin.Как установить ответные заголовки с плагином Grails CacheHeaders?

Вот тег я использую:

withCacheHeaders { 
    etag { 
     "${objectType}-${lastModifiedDateTime}-${width}-${objectId}".encodeAsSHA1() 
    } 
    delegate.lastModified { 
     lastModifiedDate ?: 0 
    } 
    generate { 

     response.setContentType(ImageService.getMimeTypeFromFileName(fullFileName)) 
     response.setHeader("Content-disposition", "filename=\"${fullFileName}\"") 
     response.setContentLength(imageBytes?.size()) 

     response.outputStream << imageBytes 
    }   
    } // end withCacheHeaders 

т работает отлично, но получается, что заголовки ответа я предлагаю не являются частью ответа. Они были прекрасно установлены, когда я не использую плагин.

Вот заголовки, которые устанавливаются:

enter image description here

Заголовки, которые не установлены, один объявлен с:

response.setContentType(ImageService.getMimeTypeFromFileName(fullFileName)) 
response.setHeader("Content-disposition", "filename=\"${fullFileName}\"") 
response.setContentLength(imageBytes?.size()) 

Ie, тип MIME, имя файла, длину контента ,

Как установить ответные заголовки с помощью плагина Grails CacheHeaders?

+0

Какие заголовки ответов установлены неправильно? Это не ясно из вашего вопроса. –

+0

@JoshuaMoore Я обновил свой вопрос. – confile

ответ

1

Причина, по которой эти заголовки не устанавливаются по дизайну. Не дизайн плагина, а HTTP. Согласно RFC2616 заголовки контента и содержимого длины не должны отправляться с HTTP-ответом 304.