如何从iOS应用程序中将GCDWebServer请求重定向到外部主机

如何从iOS应用程序中将GCDWebServer请求重定向到外部主机,ios,swift,gcdwebserver,Ios,Swift,Gcdwebserver,在我的iOS应用程序中,我尝试添加一个简单的重定向处理程序,如下所示: self.webServer!.addHandlerForMethod("GET", pathRegex: "/api/.*", requestClass: GCDWebServerRequest.self, processBlock: { request in let url = NSURL(string: "http://external.host\(request.URL!.a

在我的iOS应用程序中,我尝试添加一个简单的重定向处理程序,如下所示:

self.webServer!.addHandlerForMethod("GET", 
    pathRegex: "/api/.*",
    requestClass: GCDWebServerRequest.self,
    processBlock: { request in
        let url = NSURL(string: "http://external.host\(request.URL!.absoluteString)")
        return GCDWebServerResponse(redirect: url, permanent: true)
    }
)
但我的url格式不正确。如何从给定主机和GCDWebServerRequest.URL正确构造NSURL?

request.URL是一个NSURL对象,因此,使用它与不同主机形成另一个URL需要通过访问其路径将其拆分,如下所示:

url的价值是什么?看来你目前的建设可能会有两个方案,这将是无效的。啊,它是零!看来我的url确实格式不正确。如果我硬编码一个外部url,如let url=NSURLstring:http://external.host/api/playthrough_ids 然后它就起作用了。因此,我将编辑这个问题,重新表述“如何使用host+request.URL形成适当的NSURL”
let url = NSURL(string: "http://host.com\(request.URL!.path)")