public bool UpdateEtag(HttpResponseBase response, Uri uri, string etag) { var newLocation = new UriBuilder(uri); newLocation.EditQueryArgument(UrlEtagQuerystringName, etag); HttpResponseHeaderHelper.SetContentLocation(response, newLocation.Uri); return false; }
public bool UpdateEtag(HttpResponseBase response, Uri uri, string etag) { var newLocation = new UriBuilder(uri); newLocation.EditQueryArgument(UrlEtagQuerystringName, etag); HttpResponseHeaderHelper.SetTemporaryRedirect(response, newLocation.Uri); return true; }
/// <summary> /// The url etag handler to use. /// </summary> /// <param name="request">An HTTP request.</param> /// <param name="response">An HTTP response.</param> /// <param name="urlEtagHandlingMethod">The url etag handler method to use.</param> /// <param name="urlEtagQuerystringName">The querystring parameter name that contains the url etag.</param> /// <param name="etag">The etag the url etag should match.</param> /// <returns></returns> protected IUrlEtagHandler GetUrlEtagHandler(HttpRequestBase request, HttpResponseBase response, UrlEtagHandlingMethodType urlEtagHandlingMethod, string urlEtagQuerystringName, string etag) { if (urlEtagHandlingMethod == UrlEtagHandlingMethodType.None || !HttpRequestHeaderHelper.HasQuerystringParameter(request, urlEtagQuerystringName)) { return null; } var urlEtag = HttpRequestHeaderHelper.GetQuerystringParameterValue(request, urlEtagQuerystringName); if (urlEtag == etag) { return null; } var newLocation = new UriBuilder(request.Url); newLocation.EditQueryArgument(urlEtagQuerystringName, etag); switch (urlEtagHandlingMethod) { case UrlEtagHandlingMethodType.ContentLocation: return new UrlEtagHandlerContentLocation(HttpResponseHeaderHelper, urlEtagQuerystringName); case UrlEtagHandlingMethodType.MovedPermanently: return new UrlEtagHandlerMovedPermanently(HttpResponseHeaderHelper, urlEtagQuerystringName); case UrlEtagHandlingMethodType.TemporaryRedirect: return new UrlEtagHandlerTemporaryRedirect(HttpResponseHeaderHelper, urlEtagQuerystringName); default: return null; } }