payload: {"action":"opened","issue":{"url":"https://api.github.com/repos/dotnet/corefx/issues/38143","repository_url":"https://api.github.com/repos/dotnet/corefx","labels_url":"https://api.github.com/repos/dotnet/corefx/issues/38143/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/corefx/issues/38143/comments","events_url":"https://api.github.com/repos/dotnet/corefx/issues/38143/events","html_url":"https://github.com/dotnet/corefx/issues/38143","id":451149918,"node_id":"MDU6SXNzdWU0NTExNDk5MTg=","number":38143,"title":"Add methods for url manipulation","user":{"login":"davidfowl","id":95136,"node_id":"MDQ6VXNlcjk1MTM2","avatar_url":"https://avatars3.githubusercontent.com/u/95136?v=4","gravatar_id":"","url":"https://api.github.com/users/davidfowl","html_url":"https://github.com/davidfowl","followers_url":"https://api.github.com/users/davidfowl/followers","following_url":"https://api.github.com/users/davidfowl/following{/other_user}","gists_url":"https://api.github.com/users/davidfowl/gists{/gist_id}","starred_url":"https://api.github.com/users/davidfowl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidfowl/subscriptions","organizations_url":"https://api.github.com/users/davidfowl/orgs","repos_url":"https://api.github.com/users/davidfowl/repos","events_url":"https://api.github.com/users/davidfowl/events{/privacy}","received_events_url":"https://api.github.com/users/davidfowl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-06-02T03:55:04Z","updated_at":"2019-06-02T03:55:04Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"This is coming up while people are porting their ASP.NET application to ASP.NET Core because there was a general purpose utility that was the moral equivalent of Path for handling what was coined a virtual path basically (the path part of a URI). Here's the existing API surface (in the System.Web namespace):\r\n\r\n```C#\r\npublic static class VirtualPathUtility\r\n{\r\n    public static string AppendTrailingSlash(string virtualPath);\r\n    public static string GetDirectory(string virtualPath);\r\n    public static string GetFileName(string virtualPath);\r\n    public static bool IsAbsolute(string virtualPath);\r\n    public static string MakeRelative(string fromPath, string toPath);\r\n    public static string RemoveTrailingSlash(string virtualPath);\r\n    public static string ToAbsolute(string virtualPath);\r\n    public static string ToAbsolute(string virtualPath, string applicationPath);\r\n    public static string ToAppRelative(string virtualPath, string applicationPath);\r\n}\r\n```\r\n"}}
other: {"actor":{"display_login":"davidfowl"}}