globalSettings)
- {
- _globalSettings = globalSettings.Value;
- }
-
- public void OnAuthorization(AuthorizationFilterContext context)
- {
- var request = context.HttpContext.Request;
- if (_globalSettings.UseHttps && request.Scheme != Uri.UriSchemeHttps)
- {
- var uri = new UriBuilder()
- {
- Scheme = Uri.UriSchemeHttps,
- Host = request.Host.Value,
- Path = request.Path,
- Query = request.QueryString.ToUriComponent(),
- Port = 443
- };
- var body = string.Format("The resource can be found at {0}.
",
- uri.Uri.AbsoluteUri);
- if (request.Method.Equals(HttpMethod.Get.ToString()) || request.Method.Equals(HttpMethod.Head.ToString()))
- {
- context.HttpContext.Response.Headers.Add("Location", uri.Uri.ToString());
- context.Result = new ObjectResult(body)
- {
- StatusCode = (int)HttpStatusCode.Found,
- };
-
- }
- else
- {
- context.Result = new ObjectResult(body)
- {
- StatusCode = (int)HttpStatusCode.NotFound
- };
- }
-
-
- }
- }
- }
-}