protected void setRequestHeaderValues() throws InvalidFileRangeSpecificationException { final IFileRangeSpecification rangeSpec = getFileRangeSpecification(); if (rangeSpec != null && isHTTP()) { final long startPosition = rangeSpec.getStartPosition(); final long endPosition = rangeSpec.getEndPosition(); if (startPosition < 0) throw new InvalidFileRangeSpecificationException(Messages.UrlConnectionRetrieveFileTransfer_RESUME_START_POSITION_LESS_THAN_ZERO, rangeSpec); if (endPosition != -1L && endPosition <= startPosition) throw new InvalidFileRangeSpecificationException(Messages.UrlConnectionRetrieveFileTransfer_RESUME_ERROR_END_POSITION_LESS_THAN_START, rangeSpec); setRangeHeader("bytes=" + startPosition + "-" + ((endPosition == -1L) ? "" : ("" + endPosition))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ } // Add http 1.1 'Connection: close' header in order to potentially avoid // server issue described here // https://bugs.eclipse.org/bugs/show_bug.cgi?id=234916#c13 // See bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=247197 // also see http 1.1 rfc section 14-10 in // http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html urlConnection.setRequestProperty("Connection", "close"); //$NON-NLS-1$ //$NON-NLS-2$ int maxAge = Integer.getInteger("org.eclipse.ecf.http.cache.max-age", 0).intValue(); //$NON-NLS-1$ // set max-age for cache control to 0 for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=249990 // fix the fix for bug 249990 with bug 410813 if (maxAge == 0) { urlConnection.setRequestProperty("Cache-Control", "max-age=0"); //$NON-NLS-1$//$NON-NLS-2$ } else if (maxAge > 0) { urlConnection.setRequestProperty("Cache-Control", "max-age=" + maxAge); //$NON-NLS-1$//$NON-NLS-2$ } setRequestHeaderValuesFromOptions(); }
protected void setRequestHeaderValues() throws InvalidFileRangeSpecificationException { final IFileRangeSpecification rangeSpec = getFileRangeSpecification(); if (rangeSpec != null) { final long startPosition = rangeSpec.getStartPosition(); final long endPosition = rangeSpec.getEndPosition(); if (startPosition < 0) throw new InvalidFileRangeSpecificationException(Messages.HttpClientRetrieveFileTransfer_RESUME_START_POSITION_LESS_THAN_ZERO, rangeSpec); if (endPosition != -1L && endPosition <= startPosition) throw new InvalidFileRangeSpecificationException(Messages.HttpClientRetrieveFileTransfer_RESUME_ERROR_END_POSITION_LESS_THAN_START, rangeSpec); String rangeHeader = "bytes=" + startPosition + "-" + ((endPosition == -1L) ? "" : ("" + endPosition)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ Trace.trace(Activator.PLUGIN_ID, "retrieve range header=" + rangeHeader); //$NON-NLS-1$ setRangeHeader(rangeHeader); } int maxAge = Integer.getInteger("org.eclipse.ecf.http.cache.max-age", 0); //$NON-NLS-1$ // set max-age for cache control to 0 for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=249990 // fix the fix for bug 249990 with bug 410813 if (maxAge == 0) { getMethod.addHeader("Cache-Control", "max-age=0"); //$NON-NLS-1$//$NON-NLS-2$ } else if (maxAge > 0) { getMethod.addHeader("Cache-Control", "max-age=" + maxAge); //$NON-NLS-1$//$NON-NLS-2$ } setRequestHeaderValuesFromOptions(); }
protected void setRequestHeaderValues() throws InvalidFileRangeSpecificationException { final IFileRangeSpecification rangeSpec = getFileRangeSpecification(); if (rangeSpec != null) { final long startPosition = rangeSpec.getStartPosition(); final long endPosition = rangeSpec.getEndPosition(); if (startPosition < 0) throw new InvalidFileRangeSpecificationException(Messages.HttpClientRetrieveFileTransfer_RESUME_START_POSITION_LESS_THAN_ZERO, rangeSpec); if (endPosition != -1L && endPosition <= startPosition) throw new InvalidFileRangeSpecificationException(Messages.HttpClientRetrieveFileTransfer_RESUME_ERROR_END_POSITION_LESS_THAN_START, rangeSpec); String rangeHeader = "bytes=" + startPosition + "-" + ((endPosition == -1L) ? "" : ("" + endPosition)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ Trace.trace(Activator.PLUGIN_ID, "retrieve range header=" + rangeHeader); //$NON-NLS-1$ setRangeHeader(rangeHeader); } int maxAge = Integer.getInteger("org.eclipse.ecf.http.cache.max-age", 0); //$NON-NLS-1$ // set max-age for cache control to 0 for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=249990 // fix the fix for bug 249990 with bug 410813 if (maxAge == 0) { getMethod.addHeader("Cache-Control", "max-age=0"); //$NON-NLS-1$//$NON-NLS-2$ } else if (maxAge > 0) { getMethod.addHeader("Cache-Control", "max-age=" + maxAge); //$NON-NLS-1$//$NON-NLS-2$ } setRequestHeaderValuesFromOptions(); }