custom-content-type.js 820 B

12345678910111213141516171819202122232425262728293031323334
  1. 'use strict';
  2. const test = require('tap').test;
  3. const http = require('http');
  4. const request = require('request');
  5. const ecstatic = require('../');
  6. test('custom contentType', (t) => {
  7. let server = null;
  8. try {
  9. server = http.createServer(ecstatic({
  10. root: `${__dirname}/public/`,
  11. mimetype: {
  12. 'application/jon': ['opml'],
  13. },
  14. }));
  15. } catch (e) {
  16. t.fail(e.message);
  17. t.end();
  18. }
  19. t.plan(3);
  20. server.listen(0, () => {
  21. const port = server.address().port;
  22. request.get(`http://localhost:${port}/custom_mime_type.opml`, (err, res) => {
  23. t.ifError(err);
  24. t.equal(res.statusCode, 200, 'custom_mime_type.opml should be found');
  25. t.equal(res.headers['content-type'], 'application/jon; charset=utf-8');
  26. server.close(() => { t.end(); });
  27. });
  28. });
  29. });