New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

axios-vcr

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

axios-vcr - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

4

CHANGELOG.md
# Changelog
## 1.0.2 (Sep 14, 2019)
- Update to work with `axios` 0.19.0
- Fix npm audit vulerabilities
## 1.0.1 (Feb 10, 2017)

@@ -4,0 +8,0 @@ - Split casssette API in two functions so users can mount and unmount cassettes at different parts of their codebase

16

index.js

@@ -1,10 +0,10 @@

var RequestMiddleware = require('./lib/RequestMiddleware');
var ResponseMiddleware = require('./lib/ResponseMiddleware');
const RequestMiddleware = require('./lib/RequestMiddleware');
const ResponseMiddleware = require('./lib/ResponseMiddleware');
var cassettes = {}
const cassettes = {}
function mountCassette(cassettePath) {
var axios = require('axios');
const axios = require('axios');
var responseInterceptor = axios.interceptors.response.use(
let responseInterceptor = axios.interceptors.response.use(
ResponseMiddleware.success(cassettePath),

@@ -14,3 +14,3 @@ ResponseMiddleware.failure

var requestInterceptor = axios.interceptors.request.use(
let requestInterceptor = axios.interceptors.request.use(
RequestMiddleware.success(cassettePath),

@@ -28,4 +28,4 @@ RequestMiddleware.failure

function ejectCassette(cassettePath) {
var interceptors = cassettes[cassettePath];
var axios = interceptors.axios;
let interceptors = cassettes[cassettePath];
let axios = interceptors.axios;

@@ -32,0 +32,0 @@ axios.interceptors.response.eject(interceptors.responseInterceptor);

@@ -1,3 +0,3 @@

var md5 = require('md5')
var _ = require('lodash')
const md5 = require('md5')
const _ = require('lodash')

@@ -8,15 +8,28 @@ function key(axiosConfig) {

let url = axiosConfig.url
let method = axiosConfig.method
let data = axiosConfig.data
let headers = axiosConfig.headers
var baseConfig = {
url: axiosConfig.url,
method: axiosConfig.method,
data: axiosConfig.data,
headers: _.omit(axiosConfig.headers, [
'Content-Length', 'content-length'
])
if (_.isString(data)) {
data = JSON.parse(data)
}
return md5(JSON.stringify(baseConfig))
if (headers.common) {
headers = _.assign(
{},
headers.common,
headers[axiosConfig.method],
_.omit(headers, [
'common', 'delete', 'get', 'head', 'post', 'put', 'patch'
])
)
}
headers = _.omit(headers, [
'Content-Length', 'content-length'
])
return md5(JSON.stringify({ url, method, data, headers }))
}
module.exports = key

@@ -1,5 +0,5 @@

var fs = require('fs-promise')
var _ = require('lodash')
var mkdirp = require('mkdirp')
var getDirName = require('path').dirname
const fs = require('fs-promise')
const _ = require('lodash')
const mkdirp = require('mkdirp')
const getDirName = require('path').dirname

@@ -11,3 +11,3 @@ function loadAt(filePath, jsonPath) {

var value = _.get(json, jsonPath)
let value = _.get(json, jsonPath)
if (!_.isUndefined(value))

@@ -27,3 +27,3 @@ return value

}).catch(function(error) {
var json = {}
let json = {}
_.set(json, jsonPath, value)

@@ -30,0 +30,0 @@ return fs.writeJson(filePath, json)

@@ -1,6 +0,6 @@

var digest = require('./digest')
var jsonDB = require('./jsonDb')
const digest = require('./digest')
const jsonDB = require('./jsonDb')
function loadFixture(cassettePath, axiosConfig) {
var requestKey = digest(axiosConfig)
let requestKey = digest(axiosConfig)
return jsonDB.loadAt(cassettePath, requestKey)

@@ -17,3 +17,3 @@ }

var headers = axiosConfig.headers
let headers = axiosConfig.headers
if (!headers['User-Agent'] && !headers['user-agent']) {

@@ -29,5 +29,7 @@ headers['User-Agent'] = 'axios-vcr'

return loadFixture(cassettePath, axiosConfig).then(function(cassette) {
axiosConfig.adapter = function(resolve, _reject, _cfg) {
cassette.originalResponseData.fixture = true
return resolve(cassette.originalResponseData)
axiosConfig.adapter = function() {
return new Promise(function(resolve) {
cassette.originalResponseData.fixture = true
return resolve(cassette.originalResponseData)
});
}

@@ -34,0 +36,0 @@ return axiosConfig

@@ -1,6 +0,6 @@

var jsonDB = require('./jsonDb')
var digest = require('./digest')
const jsonDB = require('./jsonDb')
const digest = require('./digest')
function serialize(response) {
var meta = {
let meta = {
url: response.config.url,

@@ -27,4 +27,4 @@ method: response.config.method,

function storeFixture(cassettePath, response) {
var requestKey = digest(response.config)
var fixture = serialize(response)
let requestKey = digest(response.config)
let fixture = serialize(response)
return jsonDB.writeAt(cassettePath, requestKey, fixture)

@@ -31,0 +31,0 @@ }

{
"name": "axios-vcr",
"version": "1.0.1",
"version": "1.0.2",
"description": "axios-vcr is a set of middlewares for axios that allow you to record and replay requests.",

@@ -18,5 +18,5 @@ "main": "index.js",

"files": [
"index.js",
"lib"
],
"index.js",
"lib"
],
"keywords": [

@@ -32,4 +32,4 @@ "axios",

"devDependencies": {
"axios": "^0.11.1",
"mocha": "^2.5.3",
"axios": "^0.19.0",
"mocha": "^6.2.0",
"rimraf": "^2.5.2"

@@ -36,0 +36,0 @@ },

@@ -23,6 +23,6 @@ # axios-vcr

## Usage
Using axios-vcr is very simple. All you need to do is to provide a cassette path and wrap your axios code in a `VCR.use` call.
Using axios-vcr is very simple. All you need to do is to provide a cassette path and wrap your axios code with `axiosVCR.mountCassette` and `axiosVCR.ejectCassette`.
```javascript
var axiosVCR = require('axios-vcr');
const axiosVCR = require('axios-vcr');

@@ -36,3 +36,3 @@ axiosVCR.mountCassette('./test/fixtures/cats.json')

VCR.ejectCassette('https://reddit.com/r/cats.json')
axiosVCR.ejectCassette('https://reddit.com/r/cats.json')
})

@@ -39,0 +39,0 @@ ```

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc