Failed to fetch error when playing media

This article provides information to assist you in resolving the 'failed to fetch' or 'NetworkError when attempting to fetch resource' errors when playing media.

Background

The errors "failed to fetch" and "NetworkError when attempting to fetch resource" are generally experienced by users of proxy software (such as EZproxy or WAM Proxy) when the correct configuration for the specific proxy setup has not been applied.

First steps

  1. Remove any existing stanzas for the legacy Digital Theatre+ website (www.digitaltheatreplus.com)
  2. Ensure that you have implemented the stanza precisely as described in our EZproxy stanza.  Note that the stanza hosted by OCLC may be out of date, as getting updates made to it often take many weeks to be processed.

Potential root causes

The most common symptom we've seen is that requests to https://media.digitaltheatreplus.com/drm-token are failing.  This endpoint uses the same IP Authentication as the website, so in theory, if you're able to access the website, the endpoint will also respond to your request.

Due to the nature of proxy configuration being highly variable between different instances, we have identified a number of different issues that may occur.

Different URLs are used when logged in and out of EZproxy

A customer reported that our EZproxy stanza worked when not logged into EZproxy, however the error occurred when logged in.  Their solution was to duplicate the stanza modifying the key lines to reflect the URL of the proxied website, for example:

AnonymousURL +https://media-digitaltheatreplus-com.ezproxy.domain.edu/drm*
AnonymousURL +https://counter-digitaltheatreplus-com.ezproxy.com/*
AnonymousURL +https://api-digitaltheatreplus-com.ezproxy.domain.edu/*
AnonymousURL +https://media.digitaltheatreplus.com/*
AnonymousURL +https://counter.digitaltheatreplus.com/*
AnonymousURL +https://api.digitaltheatreplus.com/*
Title Digital Theatre Plus
HTTPHeader -request -process Bearer
HTTPHeader -request -process x-dt-auth-token
URL https://edu.digitaltheatreplus.com
Host https://media.digitaltheatreplus.com
Host search.digitaltheatreplus.com
Host analytics.digitaltheatreplus.com
Host https://counter.digitaltheatreplus.com
Host images.ctfassets.net
Host d10eeigq6mvk6z.cloudfront.net
Host lic.drmtoday.com
Host cdn.contentful.com
HJ media.digitaltheatreplus.com
HJ analytics.digitaltheatreplus.com
HJ edu.digitaltheatreplus.com
HJ counter.digitaltheatreplus.com
DJ digitaltheatreplus.com
AnonymousURL -*

Remember to replace the AnonymousURL and URL with the correct URL for your instance of EZproxy

AnonymousURL is not included as the first line

The AnonymousURL line should appear as the first line but it’s may be appearing further down due to the way that the stanza gets published through your internal tools (such as FileMaker).

Modify the Stanza to ensure the AnonymousURL line appears as the first line.

HTTP Headers are being blocked

This error may occur because HTTP Headers are not included in requests made to endpoints required for media playback. 

You will see in our EZproxy stanza, two HTTP Header directives that enable video playback.

In short, you will need to ensure the following endpoints are able be sent the correct HTTP Headers.  If these are not sent, you will received one of the error messages above when you attempt to play media.

Endpoint HTTP Header
https://media.digitaltheatreplus.com Authorization: Bearer
https://lic.drmtoday.com x-dt-auth-token

A non-permitted IP address is making the request

We have also identified (for OpenAthens Managed Proxy users) that requests to the https://media.digitaltheatreplus.com/drm-token endpoint were received from a different IP address to those provided by the customer.  OpenAthens confirmed these IP addresses were related to their infrastructure, so we have added them to our permit list.

It may be necessary to perform an investigation with our support team to identify whether requests from your organisation are coming from other IPs than those you have provided us with. Please, submit a support request here