Can be used to change request parameters before a request is made.
This will not be called before a NetworkConfig.retryHttpRequest.
Example:
network: {
preprocessHttpRequest: function(type, request) {
if (type === bitmovin.player.network.REQUEST_TYPE.DRM_LICENSE_WIDEVINE) {
// withCredentials = true
request.credentials = 'include';
// custom headers
request.headers.push({
name: 'customdata',
value: 'AUTHENTICATION-XML'
});
} else if (type === bitmovin.player.network.REQUEST_TYPE.MEDIA_VIDEO ||
type === bitmovin.player.network.REQUEST_TYPE.MEDIA_AUDIO) {
// async call of custom API and add token to media URLs
return customApiCall.then(function(data) {
request.url += '?token=' + data.token;
return request;
});
}
return Promise.resolve(request);
}
}
Can be used to the access or change properties of the response before it gets into the player.
Example:
network: {
preprocessHttpResponse: function(type, response) {
if (type === bitmovin.player.network.REQUEST_TYPE.DRM_LICENSE_WIDEVINE) {
drmHeaders = response.headers;
}
}
}
Is called when a request is failed. Will override the default retry behavior.
Example:
network: {
retryHttpRequest: function(type, response) {
// delay the retry by 1 second
return new Promise(function(resolve) {
setTimeout(function() {
resolve(response.request);
}, 1000);
});
}
}
Can be used to provide a custom implementation to download requested files.
When null
or undefined
is returned for a certain request, the default implementation is used.
Example:
network: {
sendHttpRequest: function(type, request) {
return {
getResponse: function() {
// get data from somewhere else
var response = {
request: request,
url: request.url,
headers: [],
status: 200,
statusText: 'OK',
body: 'my message',
}
return Promise.resolve(response);
},
setProgressListener: function() {},
cancel: function() {},
}
}
}
Generated using TypeDoc
The network API gives the ability to influence network requests. It enables preprocessing requests, processing responses or influencing the retry behavior.
7.4