diff --git a/src/content-script/_components/_mixins/calls/amapxios.js b/src/content-script/_components/_mixins/calls/amapxios.js index c4636863..85f0de92 100644 --- a/src/content-script/_components/_mixins/calls/amapxios.js +++ b/src/content-script/_components/_mixins/calls/amapxios.js @@ -10,7 +10,10 @@ export default { amapxios: function(options) { const vue = this; - const limiter = options.rateLimit || this.$store.state.axiosRateLimit; + const limiter = _.cloneDeep( options.rateLimit || this.$store.state.axiosRateLimit ); + if ( vue.$store.state.sticky.slowExtract ) { + limiter.maxRequests = _.clamp( limiter.maxRequests * .5, 1, limiter.maxRequests ); + } const maxTimeout = this.minutesToMilliseconds(1); // AXIOS @@ -130,7 +133,10 @@ export default { chunkAmapxios: function(options) { const vue = this; - const limiter = options.rateLimit || this.$store.state.axiosRateLimit; + const limiter = _.cloneDeep( options.rateLimit || this.$store.state.axiosRateLimit ); + if ( vue.$store.state.sticky.slowExtract ) { + limiter.maxRequests = _.clamp( limiter.maxRequests * .5, 1, limiter.maxRequests ); + } const maxTimeout = this.minutesToMilliseconds(1); // AXIOS diff --git a/src/content-script/_components/_mixins/calls/scrapingPrep.js b/src/content-script/_components/_mixins/calls/scrapingPrep.js index 86a8e2f0..4ab91828 100644 --- a/src/content-script/_components/_mixins/calls/scrapingPrep.js +++ b/src/content-script/_components/_mixins/calls/scrapingPrep.js @@ -30,7 +30,10 @@ export default { // } // }); // const axiosLimited = rateLimit(letMeAxiosAQuestion, { maxRPS: 15 }); - const axiosLimited = rateLimit(letMeAxiosAQuestion, this.$store.state.axiosRateLimit); + + const limiter = _.cloneDeep(this.$store.state.axiosRateLimit); + limiter.maxRequests = _.clamp( limiter.maxRequests * .5, 1, limiter.maxRequests ); + const axiosLimited = rateLimit(letMeAxiosAQuestion, limiter); waterfall( [ diff --git a/src/content-script/_components/layout/cont-menu-screen/cont-extraction-actions.vue b/src/content-script/_components/layout/cont-menu-screen/cont-extraction-actions.vue index 3f8d3d45..96afcb9a 100644 --- a/src/content-script/_components/layout/cont-menu-screen/cont-extraction-actions.vue +++ b/src/content-script/_components/layout/cont-menu-screen/cont-extraction-actions.vue @@ -15,6 +15,13 @@ + @@ -229,5 +236,14 @@ export default { \ No newline at end of file diff --git a/src/content-script/store.js b/src/content-script/store.js index f03b6eb3..c965a686 100644 --- a/src/content-script/store.js +++ b/src/content-script/store.js @@ -121,6 +121,7 @@ export default createStore({ kind: 'extra', } ], + slowExtract: false, }, },