本文整理汇总了TypeScript中@pollyjs/core.Polly类的典型用法代码示例。如果您正苦于以下问题:TypeScript Polly类的具体用法?TypeScript Polly怎么用?TypeScript Polly使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Polly类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: Polly
import FetchAdapter from '@pollyjs/adapter-fetch';
import { Polly } from '@pollyjs/core';
Polly.register(FetchAdapter);
new Polly('<recording>', {
adapters: ['xhr', FetchAdapter]
});
示例2: Polly
import FSPersister from '@pollyjs/persister-fs';
import { Polly } from '@pollyjs/core';
Polly.register(FSPersister);
new Polly('<recording>', {
persister: FSPersister
});
示例3: Polly
import HttpAdapter from '@pollyjs/adapter-node-http';
import { Polly } from '@pollyjs/core';
Polly.register(HttpAdapter);
new Polly('<recording>', {
adapters: ['node-http', HttpAdapter]
});
示例4: test
async function test() {
polly.pause();
polly.play();
const { server } = polly;
server.get('/session').on('request', req => {
req.headers['X-AUTH'] = '<ACCESS_TOKEN>';
req.query.email = 'test@app.com';
});
server.get('/session').on('beforeResponse', (req, res) => {
res.setHeader('X-AUTH', '<ACCESS_TOKEN>');
});
server.get('/session').on('response', (req, res) => {
log(`${req.url} took ${req.responseTime}ms with a status of ${res.statusCode}.`);
});
polly.configure({
adapterOptions: {
fetch: {
context: null
}
}
});
server
.get('/session')
.once('request', req => {
req.headers['X-AUTH'] = '<ACCESS_TOKEN>';
req.query.email = 'test@app.com';
})
.once('request', () => {
/* Do something else */
});
/* Intercept all Google Analytic requests and respond with a 200 */
server.get('/google-analytics/*path').intercept((req, res, intercept) => {
if (req.pathname === 'test') {
intercept.abort();
} else {
res.sendStatus(200);
}
});
/* Pass-through all GET requests to /coverage */
server.get('/coverage')
.configure({ expiresIn: '5d' })
.passthrough();
await polly.flush();
}
示例5: test
async function test() {
polly.pause();
polly.play();
const { server } = polly;
server.get('/session').on('request', req => {
req.headers['X-AUTH'] = '<ACCESS_TOKEN>';
req.query.email = 'test@app.com';
});
server.get('/session').on('beforeResponse', (req, res) => {
res.setHeader('X-AUTH', '<ACCESS_TOKEN>');
});
server.get('/session').on('response', (req, res) => {
log(`${req.url} took ${req.responseTime}ms with a status of ${res.statusCode}.`);
});
polly.configure({
adapterOptions: {
fetch: {
context: null
}
}
});
server
.get('/session')
.once('request', req => {
req.headers['X-AUTH'] = '<ACCESS_TOKEN>';
req.query.email = 'test@app.com';
})
.once('request', () => {
/* Do something else */
});
server
.get('/users/:id')
.filter(req => req.params.id === '1')
.filter(req => req.params.id !== '2')
.recordingName('test')
.recordingName()
.intercept((_req, res) => {
res.status(200).json({ email: 'user1@test.com' });
});
/* Intercept all Google Analytic requests and respond with a 200 */
server.get('/google-analytics/*path').intercept((req, res, intercept) => {
if (req.pathname === 'test') {
intercept.abort();
} else {
res.sendStatus(200);
}
});
/* Pass-through all GET requests to /coverage */
server.get('/coverage')
.configure({ expiresIn: '5d' })
.passthrough();
server.any().on('error', (req, error) => {
req
.setHeader('Content-Length', '2344')
.setHeaders({
'Content-Type': 'application/json',
'Content-Length': '42'
})
.removeHeader('Content-Length')
.removeHeaders(['Content-Type', 'Content-Length']);
req.removeHeaders(['Content-Type', 'Content-Length']);
log(req.pathname + JSON.stringify(error));
});
await polly.flush();
}