CustomHttpHeadersURLProtocol 2.1.0

CustomHttpHeadersURLProtocol 2.1.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布日期上次发布日期2016年11月
SPM支持 SPM

Takahiro Ooishi 维护。



CustomHttpHeadersURLProtocol

示例

  • Swift 3.0
fileprivate func setupCustomHttpHeadersURLProtocol() {
  let setupCustomHeaders: CustomHttpHeadersConfig.SetupCustomHeaders = { (request: NSMutableURLRequest) in
    request.addValue("CustomHttpHeadersURLProtocolSample", forHTTPHeaderField: "X-App-Name")
    request.addValue("\(Date().timeIntervalSince1970)", forHTTPHeaderField: "X-Timestamp")
  }

  let canHandleRequest: CustomHttpHeadersConfig.CanHandleRequest = { (request: URLRequest) -> Bool in
    guard let scheme = request.url?.scheme else { return false }
    guard let host = request.url?.host else { return false }

    if !["http", "https"].contains(scheme) { return false }
    if host == "0.0.0.0" { return true }

    return false
  }

  let config = CustomHttpHeadersConfig(setupCustomHeaders: setupCustomHeaders, canHandleRequest: canHandleRequest)
  CustomHttpHeadersURLProtocol.start(config)
}
  • Swift 2.3
private func setupCustomHttpHeadersURLProtocol() {
  let setupCustomHeaders: CustomHttpHeadersConfig.SetupCustomHeaders = { (request: NSMutableURLRequest) in
    request.addValue("CustomHttpHeadersURLProtocolSample", forHTTPHeaderField: "X-App-Name")
    request.addValue("\(NSDate().timeIntervalSince1970)", forHTTPHeaderField: "X-Timestamp")
  }

  let canHandleRequest: CustomHttpHeadersConfig.CanHandleRequest = { (request: NSURLRequest) -> Bool in
    guard let scheme = request.URL?.scheme else { return false }
    guard let host = request.URL?.host else { return false }

    if !["http", "https"].contains(scheme) { return false }
    if host == "0.0.0.0" { return true }

    return false
  }

  let config = CustomHttpHeadersConfig(setupCustomHeaders: setupCustomHeaders, canHandleRequest: canHandleRequest)
  CustomHttpHeadersURLProtocol.start(config)
}

作者

Takahiro Ooishi,[email protected]

许可证

CustomHttpHeadersURLProtocol 根据 MIT 许可证可用。有关更多信息,请参阅 LICENSE 文件。