Refine player control-plane flow
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
const test = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
|
||||
require('../src/common');
|
||||
|
||||
const originalWebBaseUrl = process.env.WEB_BASE_URL;
|
||||
const { resolveWebBaseUrl } = require('../src/player-bridge/index');
|
||||
|
||||
test.after(() => {
|
||||
if (originalWebBaseUrl === undefined) {
|
||||
delete process.env.WEB_BASE_URL;
|
||||
} else {
|
||||
process.env.WEB_BASE_URL = originalWebBaseUrl;
|
||||
}
|
||||
});
|
||||
|
||||
test('resolveWebBaseUrl prefers WEB_BASE_URL', () => {
|
||||
process.env.WEB_BASE_URL = 'https://web.example.test/app/';
|
||||
|
||||
const resolved = resolveWebBaseUrl({
|
||||
headers: {
|
||||
host: 'bridge.example.test',
|
||||
'x-forwarded-host': 'bridge.example.test',
|
||||
'x-forwarded-proto': 'https'
|
||||
},
|
||||
socket: { encrypted: true }
|
||||
});
|
||||
|
||||
assert.equal(resolved, 'https://web.example.test/app');
|
||||
});
|
||||
|
||||
test('resolveWebBaseUrl keeps external https hosts on the default port', () => {
|
||||
delete process.env.WEB_BASE_URL;
|
||||
|
||||
const resolved = resolveWebBaseUrl({
|
||||
headers: {
|
||||
host: 'bridge.example.test',
|
||||
'x-forwarded-host': 'bridge.example.test',
|
||||
'x-forwarded-proto': 'https'
|
||||
},
|
||||
socket: { encrypted: true }
|
||||
});
|
||||
|
||||
assert.equal(resolved, 'https://bridge.example.test');
|
||||
});
|
||||
Reference in New Issue
Block a user