Maybe it is how it’s supposed to work, but thought I would make you aware in case it was duplicative and not needed.
ListnerRequest.PathInfo is set twice on Line 39 and Line 40.
public ListenerRequest(HttpListenerContext httpContext, string operationName, RequestAttributes requestAttributes)
{
// ...
// removed other code to highlight the 2 lines below
this.PathInfo = this.OriginalPathInfo = GetPathInfo();
this.PathInfo = HostContext.AppHost.ResolvePathInfo(this, OriginalPathInfo);
}