Guest User

Untitled

a guest
Jul 23rd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. public protocol RequestInterceptor: class {
  2. func startRecording()
  3. func stopRecording()
  4. }
  5.  
  6. public protocol RequestLogger: class {
  7. func logRequest(urlRequest: URLRequest)
  8. }
  9.  
  10. @objc public class NetworkInterceptor: NSObject {
  11.  
  12. @objc public static let shared = NetworkInterceptor()
  13.  
  14. let logger: RequestLogger
  15. let interceptor: RequestInterceptor
  16.  
  17. private override init(){
  18. interceptor = CustomUrlProtocolRequestInterceptor()
  19. logger = NetworkLogger()
  20. }
  21.  
  22. }
  23.  
  24. extension NetworkInterceptor {
  25. func logRequest(urlRequest: URLRequest){
  26. logger.logRequest(urlRequest: urlRequest)
  27. }
  28. }
  29.  
  30. extension NetworkInterceptor: RequestInterceptor {
  31. @objc public func startRecording(){
  32. interceptor.startRecording()
  33. }
  34.  
  35. @objc public func stopRecording(){
  36. interceptor.stopRecording()
  37. }
  38. }
Add Comment
Please, Sign In to add comment