You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
1.8 KiB
84 lines
1.8 KiB
3 years ago
|
const http = require('http')
|
||
|
|
||
|
const Benchmark = require('benchmark')
|
||
|
const suite = new Benchmark.Suite()
|
||
|
const Request = require('../lib/request')
|
||
|
const parseURL = require('../lib/parseURL')
|
||
|
|
||
|
const mockReq = {
|
||
|
url: 'http://localhost',
|
||
|
method: 'GET',
|
||
|
headers: {
|
||
|
foo: 'bar',
|
||
|
'content-type': 'html',
|
||
|
accepts: 'json',
|
||
|
authorization: 'granted'
|
||
|
}
|
||
|
}
|
||
|
const mockCustomReq = {
|
||
|
url: 'http://localhost',
|
||
|
method: 'GET',
|
||
|
headers: {
|
||
|
foo: 'bar',
|
||
|
'content-type': 'html',
|
||
|
accepts: 'json',
|
||
|
authorization: 'granted'
|
||
|
},
|
||
|
Request: http.IncomingMessage
|
||
|
}
|
||
|
const mockReqCookies = {
|
||
|
url: 'http://localhost',
|
||
|
method: 'GET',
|
||
|
cookies: { foo: 'bar', grass: 'àìùòlé' },
|
||
|
headers: {
|
||
|
foo: 'bar',
|
||
|
'content-type': 'html',
|
||
|
accepts: 'json',
|
||
|
authorization: 'granted'
|
||
|
}
|
||
|
}
|
||
|
const mockReqCookiesPayload = {
|
||
|
url: 'http://localhost',
|
||
|
method: 'GET',
|
||
|
headers: {
|
||
|
foo: 'bar',
|
||
|
'content-type': 'html',
|
||
|
accepts: 'json',
|
||
|
authorization: 'granted'
|
||
|
},
|
||
|
payload: {
|
||
|
foo: { bar: 'fiz' },
|
||
|
bim: { bar: { boom: 'paf' } }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
suite.add('Request', function () {
|
||
|
new Request(mockReq)
|
||
|
})
|
||
|
.add('Custom Request', function () {
|
||
|
new Request.CustomRequest(mockCustomReq)
|
||
|
})
|
||
|
.add('Request With Cookies', function () {
|
||
|
new Request(mockReqCookies)
|
||
|
})
|
||
|
.add('Request With Cookies n payload', function () {
|
||
|
new Request(mockReqCookiesPayload)
|
||
|
})
|
||
|
.add('ParseUrl', function () {
|
||
|
parseURL('http://example.com:8080/hello')
|
||
|
})
|
||
|
.add('ParseUrl and query', function () {
|
||
|
parseURL('http://example.com:8080/hello', {
|
||
|
foo: 'bar',
|
||
|
message: 'OK',
|
||
|
xs: ['foo', 'bar']
|
||
|
})
|
||
|
})
|
||
|
.on('cycle', function (event) {
|
||
|
console.log(String(event.target))
|
||
|
})
|
||
|
.on('complete', function () {
|
||
|
console.log('Fastest is: ' + this.filter('fastest').map('name'))
|
||
|
})
|
||
|
.run()
|