public void GetEncodedUrlFromRequest() { var request = new DefaultProtoContext().Request; request.Scheme = "http"; request.Host = new HostString("my.HoΨst:80"); request.PathBase = new PathString("/un?escaped/base"); request.Path = new PathString("/un?escaped"); request.QueryString = new QueryString("?name=val%23ue"); Assert.Equal("http://my.xn--host-cpd:80/un%3Fescaped/base/un%3Fescaped?name=val%23ue", request.GetEncodedUrl()); }