private void fetchContentInfo() throws ProxyCacheException {
        Logger.debug("Read content info from " + sourceInfo.url);
        HttpURLConnection urlConnection = null;
        InputStream inputStream = null;
        try {
            urlConnection = openConnection(0, 10000);
            long length = getContentLength(urlConnection);
            String mime = urlConnection.getContentType();
            inputStream = urlConnection.getInputStream();
            this.sourceInfo = new SourceInfo(sourceInfo.url, length, mime);
            this.sourceInfoStorage.put(sourceInfo.url, sourceInfo);
            Logger.debug("Source info fetched: " + sourceInfo);
        } catch (IOException e) {
            Logger.error("Error fetching info from " + sourceInfo.url);
        } finally {
            ProxyCacheUtils.close(inputStream);
            if (urlConnection != null) {
                urlConnection.disconnect();
            }
        }
    }
{@link Source} that uses http resource as source for {@link ProxyCache}.
VideoCache/src/main/java/com/yc/videocache/HttpUrlSource.java