refactor: update vjs beforeRequest to onRequest (#3945)

* refactor: update vjs onRequst to onRequest

* fix(js): update vjs to use the new onrequest hook for manipulating request uri

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
This commit is contained in:
Mahlangu 2024-11-15 14:55:26 -06:00 committed by GitHub
parent 284833d6a0
commit 681111ceb2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -30,22 +30,21 @@ export const VideoJS: FC<VideoJSProps> = ({ options, onReady }) => {
player.src(options.sources);
}
// Add a cachebuster param to playlist URLs.
if (
(videojs.getPlayer(videoRef.current).tech({ IWillNotUseThisInPlugins: true }) as any)?.vhs
) {
videojs.getPlayer(videoRef.current).on('xhr-hooks-ready', () => {
const cachebusterRequestHook = o => {
let { uri } = o;
if (o.uri.match('m3u8')) {
const cachebuster = Math.random().toString(16).slice(2, 8);
uri = `${o.uri}?cachebust=${cachebuster}`;
}
return {
uri,
};
};
(
videojs.getPlayer(videoRef.current).tech({ IWillNotUseThisInPlugins: true }) as any
).vhs.xhr.beforeRequest = o => {
if (o.uri.match('m3u8')) {
const cachebuster = Math.random().toString(16).substr(2, 8);
// eslint-disable-next-line no-param-reassign
o.uri = `${o.uri}?cachebust=${cachebuster}`;
}
return o;
};
}
)?.vhs.xhr.onRequest(cachebusterRequestHook);
});
}, [options, videoRef]);
return (