public virtual async Task <TenantRoute> GetRouteAsync(Microsoft.Owin.IOwinRequest owinRequest) { var parts = owinRequest.Path.Value.Trim('/').Split('/'); var route = new TenantRoute(); if (parts.Any()) { route.TenantId = parts[0]; } if (parts.Length > 1) { route.Resource = parts[1]; } route.Purpose = GetPurpose(owinRequest); route.ContainerName = await ContainerNameService.GetContainerNameAsync(route.TenantId, route.Purpose, route.Resource); route.Host = await StorageAccountResolverService.GetBlobEndpointAsync(route); var resourceId = string.Format("{0}/{1}", route.TenantId, route.Resource); var idx = owinRequest.Uri.AbsoluteUri.IndexOf(resourceId) + resourceId.Length; var pathAndQuery = owinRequest.Uri.AbsoluteUri.Substring(idx); var qIdx = pathAndQuery.IndexOf('?'); route.Path = Uri.UnescapeDataString((qIdx > -1 ? pathAndQuery.Substring(0, qIdx) : pathAndQuery).TrimStart('/')); return(route); }
private static string BuildUrl( HttpRequest request, bool websocket, string path) { string uiPath = request.PathBase.Value .Substring(0, request.PathBase.Value.Length - 11); string scheme = request.Scheme; if (websocket) { scheme = request.IsHttps() ? "wss" : "ws"; } #if ASPNETCLASSIC Uri uri = request.Uri; var uriBuilder = new UriBuilder(scheme, uri.Host, uri.Port, uiPath + path); return(uriBuilder.ToString().TrimEnd('/')); #else return(UriHelper.BuildAbsolute( scheme, request.Host, uiPath + path) .TrimEnd('/')); #endif }
public static bool IsHttps( this HttpRequest request) { #if ASPNETCLASSIC return(request.IsSecure); #else return(request.IsHttps); #endif }
// GET api/values public IEnumerable <string> Get() { IOwinContext context = Request.GetOwinContext(); Microsoft.Owin.IOwinRequest request = base.Request.GetOwinContext().Request; if (context.Authentication.User != null) { System.Diagnostics.Debug.WriteLine("HERE"); } return(new string[0]); }
// GET api/values public IEnumerable <string> Get() { if ((base.Request != null) && (base.Request.GetOwinContext() != null)) { IOwinContext context = Request.GetOwinContext(); Microsoft.Owin.IOwinRequest request = base.Request.GetOwinContext().Request; if (context.Authentication.User != null) { Console.WriteLine("HERE"); } } return(new string[] { "value1", "value2" }); }
public async Task <System.Web.Cors.CorsPolicy> GetCorsPolicyAsync(Microsoft.Owin.IOwinRequest request) { if (IsPathAllowed(request)) { var origin = request.Headers["Origin"]; if (origin != null) { if (policy.AllowedOrigins.Contains(origin, StringComparer.OrdinalIgnoreCase)) { return(Allow(origin)); } if (policy.PolicyCallback != null) { if (await policy.PolicyCallback(origin)) { return(Allow(origin)); } } } } return(null); }