code: @Override
      public MIMETypedStream getExternalContent(ContentManagerParams params)
              throws GeneralException, HttpServiceNotFoundException, RangeNotSatisfiableException {
          logger.debug("in getExternalContent(), url={}", params.getUrl());
          try {
              if(params.getProtocol().equals("file")){
                  return getFromFilesystem(params);
              }
              if (params.getProtocol().equals("http") || params.getProtocol().equals("https")){
                  return getFromWeb(params);
              }
              throw new GeneralException("protocol for retrieval of external content not supported. URL: " + params.getUrl());
          }
          catch (RangeNotSatisfiableException re) {
          	throw re;
          } catch (Exception ex) {
              // catch anything but generalexception
              ex.printStackTrace();
              throw new HttpServiceNotFoundException("[" + this.getClass().getSimpleName() + "] "
                      + "returned an error.  The underlying error was a "
                      + ex.getClass().getName()
                      + "  The message "
                      + "was  \""
                      + ex.getMessage() + "\"  .  ",ex);
          }
      }
docs: /*
  Retrieves the external content.
  Currently the protocols <code>file</code> and
  <code>http[s]</code> are supported.
  
  @see
  org.fcrepo.server.storage.ExternalContentManager#getExternalContent(fedora
  .server.storage.ContentManagerParams)