feat: add pay-to-relay

This commit is contained in:
Ricardo Arturo Cabral Mejía
2023-01-10 20:51:49 -05:00
parent 779f7b7fe6
commit 2618a4d2dc
53 changed files with 3325 additions and 151 deletions

View File

@@ -0,0 +1,68 @@
import { expect } from 'chai'
import { IncomingMessage } from 'http'
import { getRemoteAddress } from '../../../src/utils/http'
describe('getRemoteAddress', () => {
const header = 'x-forwarded-for'
const socketAddress = 'socket-address'
const address = 'address'
let request: IncomingMessage
beforeEach(() => {
request = {
headers: {
[header]: address,
},
socket: {
remoteAddress: socketAddress,
},
} as any
})
it('returns address using network.remote_ip_address when set', () => {
expect(
getRemoteAddress(
request,
{ network: { 'remote_ip_header': header } } as any,
)
).to.equal(address)
})
it('returns address using network.remoteIpAddress when set', () => {
expect(
getRemoteAddress(
request,
{ network: { remoteIpHeader: header } } as any,
)
).to.equal(address)
})
it('returns address from socket when header is unset', () => {
expect(
getRemoteAddress(
request,
{ network: { } } as any,
)
).to.equal(socketAddress)
})
it('returns undefined if unable to find header', () => {
expect(
getRemoteAddress(
{ ...request, socket: {} } as any,
{ network: {} } as any,
)
).to.be.undefined
})
it('returns undefined if header setting is unset', () => {
expect(
getRemoteAddress(
{ ...request, socket: {} } as any,
{} as any,
)
).to.be.undefined
})
})