Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script type="text/javascript">
- (function(){
- function normalizeError(err) {
- var errorInfo = err.error || {};
- var getConfigProp = function(propName, defaultValueIfNotTruthy) {
- var propValue = window._sharedData && window._sharedData[propName];
- return propValue ? propValue : defaultValueIfNotTruthy;
- };
- return {
- line: err.line || errorInfo.message || 0,
- column: err.column || 0,
- name: 'InitError',
- message: err.message || errorInfo.message || '',
- script: errorInfo.script || '',
- stack: errorInfo.stackTrace || errorInfo.stack || '',
- timestamp: Date.now(),
- ref: window.location.href,
- deployment_stage: getConfigProp('deployment_stage', ''),
- is_canary: getConfigProp('is_canary', false),
- rollout_hash: getConfigProp('rollout_hash', ''),
- is_prerelease: window.__PRERELEASE__ || false,
- bundle_variant: getConfigProp('bundle_variant', null),
- request_url: err.url || window.location.href,
- response_status_code: errorInfo.statusCode || 0
- }
- }
- window.addEventListener('load', function(){
- if (window.__bufferedErrors && window.__bufferedErrors.length) {
- if (window.caches && window.caches.keys && window.caches.delete) {
- window.caches.keys().then(function(keys) {
- keys.forEach(function(key) {
- window.caches.delete(key)
- })
- })
- }
- window.__bufferedErrors.map(function(error) {
- return normalizeError(error)
- }).forEach(function(normalizedError) {
- var request = new XMLHttpRequest();
- request.open('POST', '/client_error/', true);
- request.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
- request.send(JSON.stringify(normalizedError));
- })
- }
- })
- }());
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement