コード例 #1
0
ファイル: static.test.ts プロジェクト: Trail-Image/blog
 res.onEnd = () => {
    expect(res).toRenderTemplate(Page.Sitemap);
    const context = res.rendered.context;
    expect(context).toHaveAllProperties('posts', 'categories', 'tags');
    expect(res.headers).toHaveKeyValue(
       Header.Content.Type,
       addCharSet(MimeType.XML)
    );
    done();
 };
コード例 #2
0
ファイル: map.test.ts プロジェクト: Trail-Image/blog
 res.onEnd = () => {
    expect(res.httpStatus).toBe(HttpStatus.OK);
    expect(res.headers).toHaveKeyValue(
       Header.Content.Type,
       addCharSet(MimeType.JSON)
    );
    expect(res.headers).toHaveKeyValue(
       Header.Content.Encoding,
       Encoding.GZip
    );
    expect(res.content).toBeDefined();
    expect(res.content.length).toBeWithin(42000, 45000);
    done();
 };
コード例 #3
0
ファイル: map.ts プロジェクト: Trail-Image/blog
 compress.gzip(Buffer.from(geoText), (err: Error, buffer: Buffer) => {
    if (is.value(err)) {
       view.internalError(res, err);
    } else {
       res.setHeader(Header.Content.Encoding, Encoding.GZip);
       res.setHeader(Header.CacheControl, 'max-age=86400, public'); // seconds
       res.setHeader(Header.Content.Type, addCharSet(MimeType.JSON));
       res.setHeader(
          Header.Content.Disposition,
          `attachment; filename=${key}`
       );
       res.write(buffer);
       res.end();
    }
 });
コード例 #4
0
ファイル: view.ts プロジェクト: Trail-Image/blog
export function writeItemToResponse(
   res: Response,
   item: ViewItem,
   cache = true
) {
   res.setHeader(Header.Content.Encoding, Encoding.GZip);

   if (cache) {
      res.setHeader(Header.CacheControl, 'max-age=86400, public'); // seconds
   } else {
      // force no caching
      res.setHeader(Header.CacheControl, 'no-cache');
      res.setHeader(Header.Expires, 'Tue, 01 Jan 1980 1:00:00 GMT');
      res.setHeader(Header.PRAGMA, 'no-cache');
   }
   res.setHeader(Header.eTag, item.eTag);
   res.setHeader(Header.Content.Type, addCharSet(item.type));
   res.write(item.buffer);
   res.end();
}