gitextract_9hhv16l2/ ├── .commitlintrc.js ├── .eslintignore ├── .eslintrc.js ├── .github/ │ ├── issue_template.md │ └── pull_request_template.md ├── .gitignore ├── .husky/ │ ├── commit-msg │ └── pre-commit ├── .mocharc.js ├── .prettierrc.js ├── .travis.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── OSSMETADATA ├── README.md ├── docs/ │ ├── .nojekyll │ ├── _coverpage.md │ ├── _sidebar.md │ ├── adapters/ │ │ ├── custom.md │ │ ├── fetch.md │ │ ├── node-http.md │ │ ├── playwright.md │ │ ├── puppeteer.md │ │ └── xhr.md │ ├── api.md │ ├── assets/ │ │ └── styles.css │ ├── cli/ │ │ ├── commands.md │ │ └── overview.md │ ├── configuration.md │ ├── examples.md │ ├── frameworks/ │ │ └── ember-cli.md │ ├── index.html │ ├── node-server/ │ │ ├── express-integrations.md │ │ └── overview.md │ ├── persisters/ │ │ ├── custom.md │ │ ├── fs.md │ │ ├── local-storage.md │ │ └── rest.md │ ├── quick-start.md │ ├── server/ │ │ ├── api.md │ │ ├── event.md │ │ ├── events-and-middleware.md │ │ ├── overview.md │ │ ├── request.md │ │ ├── response.md │ │ └── route-handler.md │ └── test-frameworks/ │ ├── jest-jasmine.md │ ├── mocha.md │ └── qunit.md ├── examples/ │ ├── .eslintrc.js │ ├── client-server/ │ │ ├── index.html │ │ ├── package.json │ │ └── tests/ │ │ ├── events.test.js │ │ ├── intercept.test.js │ │ └── setup.js │ ├── dummy-app/ │ │ ├── .eslintrc.js │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package.json │ │ ├── public/ │ │ │ ├── index.html │ │ │ └── manifest.json │ │ └── src/ │ │ ├── App.js │ │ ├── index.css │ │ ├── index.js │ │ ├── posts.js │ │ ├── todos.js │ │ └── users.js │ ├── jest-node-fetch/ │ │ ├── .eslintrc.js │ │ ├── __recordings__/ │ │ │ └── jest-node-fetch_1142061259/ │ │ │ ├── posts_1278140380/ │ │ │ │ └── should-return-post_148615714/ │ │ │ │ └── recording.har │ │ │ └── users_1585235219/ │ │ │ └── should-return-user_4259424139/ │ │ │ └── recording.har │ │ ├── __tests__/ │ │ │ └── index.test.js │ │ ├── package.json │ │ └── src/ │ │ ├── index.js │ │ ├── posts.js │ │ └── users.js │ ├── jest-puppeteer/ │ │ ├── .eslintrc.js │ │ ├── __recordings__/ │ │ │ └── jest-puppeteer_2726822272/ │ │ │ └── should-be-able-to-navigate-to-all-routes_1130491217/ │ │ │ └── recording.har │ │ ├── __tests__/ │ │ │ └── dummy-app.test.js │ │ ├── jest-puppeteer.config.js │ │ ├── jest.config.js │ │ └── package.json │ ├── node-fetch/ │ │ ├── package.json │ │ ├── recordings/ │ │ │ └── node-fetch_2851505768/ │ │ │ └── should-work_3457346403/ │ │ │ └── recording.har │ │ └── tests/ │ │ └── node-fetch.test.js │ ├── puppeteer/ │ │ ├── index.js │ │ ├── package.json │ │ └── recordings/ │ │ └── puppeteer_2155046665/ │ │ └── recording.har │ ├── rest-persister/ │ │ ├── index.html │ │ ├── package.json │ │ ├── recordings/ │ │ │ └── REST-Persister_2289553200/ │ │ │ └── should-work_3457346403/ │ │ │ └── recording.har │ │ └── tests/ │ │ ├── rest-persister.test.js │ │ └── setup.js │ └── typescript-jest-node-fetch/ │ ├── __recordings__/ │ │ └── github-api-client_2139812550/ │ │ └── getUser_1648904580/ │ │ └── recording.har │ ├── jest.config.ts │ ├── package.json │ ├── src/ │ │ ├── github-api.test.ts │ │ ├── github-api.ts │ │ └── utils/ │ │ └── auto-setup-polly.ts │ └── tsconfig.json ├── jest.config.js ├── lerna.json ├── package.json ├── packages/ │ └── @pollyjs/ │ ├── adapter/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ ├── index.js │ │ │ └── utils/ │ │ │ ├── dehumanize-time.js │ │ │ ├── is-expired.js │ │ │ ├── normalize-recorded-response.js │ │ │ └── stringify-request.js │ │ ├── tests/ │ │ │ └── unit/ │ │ │ ├── adapter-test.js │ │ │ └── utils/ │ │ │ ├── dehumanize-time-test.js │ │ │ └── is-expired-test.js │ │ └── types.d.ts │ ├── adapter-fetch/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ ├── index.js │ │ │ └── utils/ │ │ │ └── serializer-headers.js │ │ ├── tests/ │ │ │ ├── integration/ │ │ │ │ ├── adapter-test.js │ │ │ │ ├── persister-local-storage-test.js │ │ │ │ ├── persister-rest-test.js │ │ │ │ └── server-test.js │ │ │ └── utils/ │ │ │ └── polly-config.js │ │ └── types.d.ts │ ├── adapter-node-http/ │ │ ├── .eslintrc.js │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── rollup.config.shared.js │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ ├── index.js │ │ │ └── utils/ │ │ │ ├── get-url-from-options.js │ │ │ ├── merge-chunks.js │ │ │ └── url-to-options.js │ │ ├── tests/ │ │ │ ├── integration/ │ │ │ │ ├── adapter-node-fetch-test.js │ │ │ │ ├── adapter-test.js │ │ │ │ └── persister-fs-test.js │ │ │ ├── jest/ │ │ │ │ └── integration/ │ │ │ │ ├── fetch-test.js │ │ │ │ └── xhr-test.js │ │ │ ├── unit/ │ │ │ │ └── utils/ │ │ │ │ └── merge-chunks-test.js │ │ │ └── utils/ │ │ │ ├── get-buffer-from-stream.js │ │ │ ├── get-response-from-request.js │ │ │ ├── native-request.js │ │ │ └── polly-config.js │ │ └── types.d.ts │ ├── adapter-puppeteer/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ └── index.js │ │ ├── tests/ │ │ │ ├── helpers/ │ │ │ │ └── fetch.js │ │ │ ├── integration/ │ │ │ │ └── adapter-test.js │ │ │ └── unit/ │ │ │ └── adapter-test.js │ │ └── types.d.ts │ ├── adapter-xhr/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ ├── index.js │ │ │ └── utils/ │ │ │ ├── resolve-xhr.js │ │ │ └── serialize-response-headers.js │ │ ├── tests/ │ │ │ ├── integration/ │ │ │ │ └── adapter-test.js │ │ │ └── utils/ │ │ │ └── xhr-request.js │ │ └── types.d.ts │ ├── cli/ │ │ ├── .eslintrc.js │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bin/ │ │ │ └── cli.js │ │ └── package.json │ ├── core/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ ├── -private/ │ │ │ │ ├── container.js │ │ │ │ ├── event-emitter.js │ │ │ │ ├── event.js │ │ │ │ ├── http-base.js │ │ │ │ ├── interceptor.js │ │ │ │ ├── logger.js │ │ │ │ ├── request.js │ │ │ │ └── response.js │ │ │ ├── defaults/ │ │ │ │ └── config.js │ │ │ ├── index.js │ │ │ ├── polly.js │ │ │ ├── server/ │ │ │ │ ├── handler.js │ │ │ │ ├── index.js │ │ │ │ ├── middleware.js │ │ │ │ └── route.js │ │ │ ├── test-helpers/ │ │ │ │ ├── lib.js │ │ │ │ ├── mocha.js │ │ │ │ └── qunit.js │ │ │ └── utils/ │ │ │ ├── cancel-fn-after-n-times.js │ │ │ ├── deferred-promise.js │ │ │ ├── guid-for-recording.js │ │ │ ├── http-headers.js │ │ │ ├── merge-configs.js │ │ │ ├── normalize-request.js │ │ │ ├── parse-url.js │ │ │ ├── remove-host-from-url.js │ │ │ ├── timing.js │ │ │ └── validators.js │ │ ├── tests/ │ │ │ └── unit/ │ │ │ ├── -private/ │ │ │ │ ├── container-test.js │ │ │ │ ├── event-emitter-test.js │ │ │ │ ├── event-test.js │ │ │ │ ├── http-base-test.js │ │ │ │ ├── interceptor-test.js │ │ │ │ └── response-test.js │ │ │ ├── index-test.js │ │ │ ├── polly-test.js │ │ │ ├── server/ │ │ │ │ ├── handler-test.js │ │ │ │ └── server-test.js │ │ │ ├── test-helpers/ │ │ │ │ └── mocha-test.js │ │ │ └── utils/ │ │ │ ├── deferred-promise-test.js │ │ │ ├── guid-for-recording-test.js │ │ │ ├── http-headers-test.js │ │ │ ├── merge-configs-test.js │ │ │ ├── normalize-request-test.js │ │ │ ├── parse-url-test.js │ │ │ ├── remove-host-from-url-test.js │ │ │ └── timing-test.js │ │ └── types.d.ts │ ├── ember/ │ │ ├── .editorconfig │ │ ├── .ember-cli │ │ ├── .eslintignore │ │ ├── .eslintrc.js │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── .prettierignore │ │ ├── .prettierrc.js │ │ ├── .template-lintrc.js │ │ ├── .watchmanconfig │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── addon/ │ │ │ └── -private/ │ │ │ └── preconfigure.js │ │ ├── blueprints/ │ │ │ └── @pollyjs/ │ │ │ └── ember/ │ │ │ ├── files/ │ │ │ │ └── config/ │ │ │ │ └── polly.js │ │ │ └── index.js │ │ ├── config/ │ │ │ ├── ember-try.js │ │ │ ├── environment.js │ │ │ └── polly.js │ │ ├── ember-cli-build.js │ │ ├── index.js │ │ ├── package.json │ │ ├── testem.js │ │ ├── tests/ │ │ │ ├── dummy/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.js │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── controllers/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── index.html │ │ │ │ │ ├── models/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── router.js │ │ │ │ │ ├── routes/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── styles/ │ │ │ │ │ │ └── app.css │ │ │ │ │ └── templates/ │ │ │ │ │ └── application.hbs │ │ │ │ ├── config/ │ │ │ │ │ ├── ember-cli-update.json │ │ │ │ │ ├── environment.js │ │ │ │ │ ├── optional-features.json │ │ │ │ │ └── targets.js │ │ │ │ └── public/ │ │ │ │ └── robots.txt │ │ │ ├── helpers/ │ │ │ │ └── .gitkeep │ │ │ ├── index.html │ │ │ ├── integration/ │ │ │ │ └── .gitkeep │ │ │ ├── test-helper.js │ │ │ └── unit/ │ │ │ └── polly-test.js │ │ └── vendor/ │ │ └── .gitkeep │ ├── node-server/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── api.js │ │ │ ├── config.js │ │ │ ├── express/ │ │ │ │ └── register-api.js │ │ │ ├── index.js │ │ │ └── server.js │ │ └── types.d.ts │ ├── persister/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ ├── har/ │ │ │ │ ├── entry.js │ │ │ │ ├── index.js │ │ │ │ ├── log.js │ │ │ │ ├── request.js │ │ │ │ ├── response.js │ │ │ │ └── utils/ │ │ │ │ ├── get-first-header.js │ │ │ │ └── to-nv-pairs.js │ │ │ └── index.js │ │ ├── tests/ │ │ │ └── unit/ │ │ │ ├── har-test.js │ │ │ └── persister-test.js │ │ └── types.d.ts │ ├── persister-fs/ │ │ ├── .eslintrc.js │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ └── index.js │ │ ├── tests/ │ │ │ └── unit/ │ │ │ └── persister-test.js │ │ └── types.d.ts │ ├── persister-in-memory/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── package.json │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ └── index.js │ │ └── types.d.ts │ ├── persister-local-storage/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ └── index.js │ │ └── types.d.ts │ ├── persister-rest/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.test.js │ │ ├── src/ │ │ │ ├── ajax.js │ │ │ └── index.js │ │ └── types.d.ts │ └── utils/ │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── rollup.config.test.js │ ├── src/ │ │ ├── constants/ │ │ │ ├── actions.js │ │ │ ├── expiry-strategies.js │ │ │ ├── http-methods.js │ │ │ ├── http-status-codes.js │ │ │ └── modes.js │ │ ├── index.js │ │ └── utils/ │ │ ├── assert.js │ │ ├── build-url.js │ │ ├── clone-arraybuffer.js │ │ ├── is-buffer-utf8-representable.js │ │ ├── polly-error.js │ │ ├── serializers/ │ │ │ ├── blob.js │ │ │ ├── buffer.js │ │ │ ├── form-data.js │ │ │ └── index.js │ │ ├── timeout.js │ │ ├── timestamp.js │ │ └── url.js │ ├── tests/ │ │ ├── browser/ │ │ │ └── unit/ │ │ │ └── utils/ │ │ │ └── serializers/ │ │ │ ├── blob.js │ │ │ └── form-data.js │ │ ├── node/ │ │ │ └── unit/ │ │ │ └── utils/ │ │ │ └── serializers/ │ │ │ └── buffer.js │ │ ├── serializer-tests.js │ │ └── unit/ │ │ └── utils/ │ │ ├── assert-test.js │ │ ├── build-url-test.js │ │ ├── polly-error-test.js │ │ ├── timeout-test.js │ │ ├── timestamp-test.js │ │ └── url-test.js │ └── types.d.ts ├── scripts/ │ ├── require-clean-work-tree.sh │ ├── require-test-build.sh │ └── rollup/ │ ├── browser.config.js │ ├── browser.test.config.js │ ├── default.config.js │ ├── jest.test.config.js │ ├── node.config.js │ ├── node.test.config.js │ └── utils.js ├── testem.js └── tests/ ├── helpers/ │ ├── file.js │ ├── global-node-fetch.js │ ├── setup-fetch-record.js │ └── setup-persister.js ├── index.mustache ├── integration/ │ ├── adapter-browser-tests.js │ ├── adapter-identifier-tests.js │ ├── adapter-node-tests.js │ ├── adapter-polly-tests.js │ ├── adapter-tests.js │ └── persister-tests.js ├── middleware.js └── node-setup.js