简体   繁体   English

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

[英]how to redirect GCDWebServer requests to an external host from within an iOS app

In my iOS app I'm trying to add a simple GCDWebServer redirect handler like so: 在我的iOS应用中,我试图添加一个简单的GCDWebServer重定向处理程序,如下所示:

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)
    }
)

but my url is malformed. 但我的url格式不正确。 How do I properly construct an NSURL from a given host and GCDWebServerRequest.URL ? 如何从给定hostGCDWebServerRequest.URL正确构造NSURL

request.URL是一个NSURL对象,因此,要使用它与另一个主机组成另一个URL,就必须通过访问其path拆分它,如下所示:

let url = NSURL(string: "http://host.com\(request.URL!.path)")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM