Skip to content

Commit

Permalink
Implement custom request API (#29)
Browse files Browse the repository at this point in the history
  • Loading branch information
ialimz authored Jul 16, 2023
1 parent b2da539 commit 0084399
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 12 deletions.
11 changes: 6 additions & 5 deletions Sources/NetShears/Models/RequestModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -99,18 +99,19 @@ public final class NetShearsRequestModel: Codable {
success: Bool,
statusCode: Int,
duration: Double?,
HPACKHeadersRequest: [String: String]?,
HPACKHeadersResponse: [String: String]?,
scheme: String,
requestHeaders: [String: String]?,
responseHeaders: [String: String]?,
isFinished: Bool = true) {
self.id = UUID().uuidString
self.method = method
self.scheme = "gRPC"
self.scheme = scheme
self.url = url
self.host = host
self.httpBody = requestObject
self.code = statusCode
self.responseHeaders = HPACKHeadersResponse
self.headers = HPACKHeadersRequest ?? [:]
self.responseHeaders = responseHeaders
self.headers = requestHeaders ?? [:]
self.dataResponse = responseObject
self.date = Date()
self.port = nil
Expand Down
41 changes: 34 additions & 7 deletions Sources/NetShears/NetShears.swift
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,39 @@ public final class NetShears: NSObject {
}
}

public func addCustomRequest(url: String,
host: String,
method: String,
requestObject: Data?,
responseObject: Data?,
success: Bool,
statusCode: Int,
statusMessage: String?,
duration: Double?,
scheme: String,
requestHeaders: [String: String]?,
responseHeaders: [String: String]?) {
let request = NetShearsRequestModel(url: url,
host: host,
method: method,
requestObject: requestObject,
responseObject: responseObject,
success: success,
statusCode: statusCode,
duration: duration,
scheme: scheme,
requestHeaders: requestHeaders,
responseHeaders: responseHeaders,
isFinished: true)
if loggerEnable {
RequestStorage.shared.newRequestArrived(request)
}

if listenerEnable {
RequestBroadcast.shared.newRequestArrived(request)
}
}

public func addGRPC(url: String,
host: String,
method: String,
Expand All @@ -102,12 +135,6 @@ public final class NetShears: NSObject {
duration: Double?,
HPACKHeadersRequest: [String: String]?,
HPACKHeadersResponse: [String: String]?){
let request = NetShearsRequestModel(url: url, host: host, method: method, requestObject: requestObject, responseObject: responseObject, success: success, statusCode: statusCode, duration: duration, HPACKHeadersRequest: HPACKHeadersRequest, HPACKHeadersResponse: HPACKHeadersResponse, isFinished: true)
if loggerEnable {
RequestStorage.shared.newRequestArrived(request)
}
if listenerEnable {
RequestBroadcast.shared.newRequestArrived(request)
}
addCustomRequest(url: url, host: host, method: method, requestObject: requestObject, responseObject: responseObject, success: success, statusCode: statusCode, statusMessage: statusMessage, duration: duration, scheme: "gRPC", requestHeaders: HPACKHeadersRequest, responseHeaders: HPACKHeadersResponse)
}
}

0 comments on commit 0084399

Please sign in to comment.