identity.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. var oppressor = require('../');
  2. var tap = require('tap').test;
  3. var zlib = require('zlib');
  4. var fs = require('fs');
  5. var http = require('http');
  6. var fileContents = fs.readFileSync(__dirname + '/data.txt', 'utf8');
  7. tap(function (t) {
  8. t.plan(1);
  9. var port = Math.floor(Math.random() * 5e4 + 1e4);
  10. var server = http.createServer(function (req, res) {
  11. fs.createReadStream(__dirname + '/data.txt')
  12. .pipe(oppressor(req))
  13. .pipe(res)
  14. ;
  15. });
  16. server.listen(port);
  17. var opts = {
  18. host : 'localhost',
  19. port : port,
  20. headers : {
  21. 'accept-encoding' : 'identity'
  22. }
  23. };
  24. server.on('listening', function () {
  25. http.get(opts, function (res) {
  26. var data = '';
  27. res.on('data', function (buf) { data += buf });
  28. res.on('end', function () {
  29. t.equal(data, fileContents);
  30. });
  31. });
  32. });
  33. t.on('end', function () {
  34. server.close();
  35. });
  36. });