index.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. 'use strict';
  2. const http2 = require('http2');
  3. const {
  4. Agent,
  5. globalAgent
  6. } = require('./agent.js');
  7. const ClientRequest = require('./client-request.js');
  8. const IncomingMessage = require('./incoming-message.js');
  9. const auto = require('./auto.js');
  10. const {
  11. HttpOverHttp2,
  12. HttpsOverHttp2
  13. } = require('./proxies/h1-over-h2.js');
  14. const Http2OverHttp2 = require('./proxies/h2-over-h2.js');
  15. const {
  16. Http2OverHttp,
  17. Http2OverHttps
  18. } = require('./proxies/h2-over-h1.js');
  19. const validateHeaderName = require('./utils/validate-header-name.js');
  20. const validateHeaderValue = require('./utils/validate-header-value.js');
  21. const request = (url, options, callback) => new ClientRequest(url, options, callback);
  22. const get = (url, options, callback) => {
  23. // eslint-disable-next-line unicorn/prevent-abbreviations
  24. const req = new ClientRequest(url, options, callback);
  25. req.end();
  26. return req;
  27. };
  28. module.exports = {
  29. ...http2,
  30. ClientRequest,
  31. IncomingMessage,
  32. Agent,
  33. globalAgent,
  34. request,
  35. get,
  36. auto,
  37. proxies: {
  38. HttpOverHttp2,
  39. HttpsOverHttp2,
  40. Http2OverHttp2,
  41. Http2OverHttp,
  42. Http2OverHttps
  43. },
  44. validateHeaderName,
  45. validateHeaderValue
  46. };