Caching de conteúdo estático (falso), que é realmente dinâmico no GAE para Python

No meu aplicativo GAE, tenho o seguinte manipulador em app.yaml:

- url: /lang/strings.js
  script: js_lang.py

Faça uma chamada para/lang/strings.js será mapeado para o manipulador de solicitações js_lang.py que preenche a resposta comoapplication/javascript. Quero que essa resposta seja armazenada em cache no navegador para que o manipulador de solicitações seja chamado apenas de vez em quando (por exemplo, quando eu "invalido" o cache importando/lang/strings.js?v=xxxx quando implanto uma nova versão do aplicativo.

Para conteúdo estático normal, existe odefault_expiration, o que é muito útil. E resulta em cabeçalhos de resposta http como este:

Expires: Fri, 01 Apr 2011 09:54:56 GMT
Cache-Control: public, max-age=600

Ok, a pergunta: existe uma maneira fácil de retornar cabeçalhos como esse, sem ter que defini-los explicitamente? Como alternativa, existe um trecho de código disponível que aceita alguns parâmetros básicos, como "dias", e produz os cabeçalhos http esperados?

Edit 12 de abril de 2011

Eu resolvi isso muito simplesmente definindo os dois cabeçalhosExpires eCache-Control como isso

import datetime
thirty_days_in_seconds = 4320000
expires_date = datetime.datetime.now() + datetime.timedelta(days=30)
HTTP_HEADER_FORMAT = "%a, %d %b %Y %H:%M:00 GMT"        

self.response.headers["Expires"] = expires_date.strftime(HTTP_HEADER_FORMAT)
self.response.headers["Cache-Control"] = "public, max-age=%s" % thirty_days_in_seconds

questionAnswers(1)

yourAnswerToTheQuestion