Skip to content

Commit

Permalink
feat: Include URL into FetchOptions (box/box-codegen#549) (#208)
Browse files Browse the repository at this point in the history
  • Loading branch information
box-sdk-build authored Aug 23, 2024
1 parent 31920e6 commit b65822d
Show file tree
Hide file tree
Showing 74 changed files with 284 additions and 288 deletions.
2 changes: 1 addition & 1 deletion .codegen.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{ "engineHash": "6dfffba", "specHash": "57614c2", "version": "0.3.1" }
{ "engineHash": "2bf4a47", "specHash": "57614c2", "version": "0.3.1" }
2 changes: 1 addition & 1 deletion Sources/Box/Errors/BoxAPIError.swift
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ extension BoxAPIError {
let requestHeaders = conversation.options.headers.compactMapValues { $0?.paramValue }
let requestInfo = RequestInfo(
method: conversation.options.method.rawValue,
url: conversation.url,
url: conversation.options.url,
queryParams: conversation.options.headers.compactMapValues { $0?.paramValue },
headers: requestHeaders,
body: requestHeaders[HTTPHeaderKey.contentType, default: ""].paramValue == HTTPHeaderContentTypeValue.urlEncoded
Expand Down
6 changes: 3 additions & 3 deletions Sources/Managers/Ai/AiManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public class AiManager {
/// - Throws: The `GeneralError`.
public func createAiAsk(requestBody: AiAsk, headers: CreateAiAskHeaders = CreateAiAskHeaders()) async throws -> AiResponseFull {
let headersMap: [String: String] = Utils.Dictionary.prepareParams(map: Utils.Dictionary.merge([:], headers.extraHeaders))
let response: FetchResponse = try await NetworkClient.shared.fetch(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/ai/ask")", options: FetchOptions(method: "POST", headers: headersMap, data: try requestBody.serialize(), contentType: "application/json", responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
let response: FetchResponse = try await NetworkClient.shared.fetch(options: FetchOptions(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/ai/ask")", method: "POST", headers: headersMap, data: try requestBody.serialize(), contentType: "application/json", responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
return try AiResponseFull.deserialize(from: response.data)
}

Expand All @@ -32,7 +32,7 @@ public class AiManager {
/// - Throws: The `GeneralError`.
public func createAiTextGen(requestBody: AiTextGen, headers: CreateAiTextGenHeaders = CreateAiTextGenHeaders()) async throws -> AiResponse {
let headersMap: [String: String] = Utils.Dictionary.prepareParams(map: Utils.Dictionary.merge([:], headers.extraHeaders))
let response: FetchResponse = try await NetworkClient.shared.fetch(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/ai/text_gen")", options: FetchOptions(method: "POST", headers: headersMap, data: try requestBody.serialize(), contentType: "application/json", responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
let response: FetchResponse = try await NetworkClient.shared.fetch(options: FetchOptions(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/ai/text_gen")", method: "POST", headers: headersMap, data: try requestBody.serialize(), contentType: "application/json", responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
return try AiResponse.deserialize(from: response.data)
}

Expand All @@ -46,7 +46,7 @@ public class AiManager {
public func getAiAgentDefaultConfig(queryParams: GetAiAgentDefaultConfigQueryParams, headers: GetAiAgentDefaultConfigHeaders = GetAiAgentDefaultConfigHeaders()) async throws -> AiAgentAskOrAiAgentTextGen {
let queryParamsMap: [String: String] = Utils.Dictionary.prepareParams(map: ["mode": Utils.Strings.toString(value: queryParams.mode), "language": Utils.Strings.toString(value: queryParams.language), "model": Utils.Strings.toString(value: queryParams.model)])
let headersMap: [String: String] = Utils.Dictionary.prepareParams(map: Utils.Dictionary.merge([:], headers.extraHeaders))
let response: FetchResponse = try await NetworkClient.shared.fetch(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/ai_agent_default")", options: FetchOptions(method: "GET", params: queryParamsMap, headers: headersMap, responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
let response: FetchResponse = try await NetworkClient.shared.fetch(options: FetchOptions(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/ai_agent_default")", method: "GET", params: queryParamsMap, headers: headersMap, responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
return try AiAgentAskOrAiAgentTextGen.deserialize(from: response.data)
}

Expand Down
8 changes: 4 additions & 4 deletions Sources/Managers/Authorization/AuthorizationManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class AuthorizationManager {
public func authorizeUser(queryParams: AuthorizeUserQueryParams, headers: AuthorizeUserHeaders = AuthorizeUserHeaders()) async throws {
let queryParamsMap: [String: String] = Utils.Dictionary.prepareParams(map: ["response_type": Utils.Strings.toString(value: queryParams.responseType), "client_id": Utils.Strings.toString(value: queryParams.clientId), "redirect_uri": Utils.Strings.toString(value: queryParams.redirectUri), "state": Utils.Strings.toString(value: queryParams.state), "scope": Utils.Strings.toString(value: queryParams.scope)])
let headersMap: [String: String] = Utils.Dictionary.prepareParams(map: Utils.Dictionary.merge([:], headers.extraHeaders))
let response: FetchResponse = try await NetworkClient.shared.fetch(url: "\(self.networkSession.baseUrls.oauth2Url)\("/authorize")", options: FetchOptions(method: "GET", params: queryParamsMap, headers: headersMap, responseFormat: nil, auth: self.auth, networkSession: self.networkSession))
let response: FetchResponse = try await NetworkClient.shared.fetch(options: FetchOptions(url: "\(self.networkSession.baseUrls.oauth2Url)\("/authorize")", method: "GET", params: queryParamsMap, headers: headersMap, responseFormat: nil, auth: self.auth, networkSession: self.networkSession))
}

/// Request an Access Token using either a client-side obtained OAuth 2.0
Expand All @@ -48,7 +48,7 @@ public class AuthorizationManager {
/// - Throws: The `GeneralError`.
public func requestAccessToken(requestBody: PostOAuth2Token, headers: RequestAccessTokenHeaders = RequestAccessTokenHeaders()) async throws -> AccessToken {
let headersMap: [String: String] = Utils.Dictionary.prepareParams(map: Utils.Dictionary.merge([:], headers.extraHeaders))
let response: FetchResponse = try await NetworkClient.shared.fetch(url: "\(self.networkSession.baseUrls.baseUrl)\("/oauth2/token")", options: FetchOptions(method: "POST", headers: headersMap, data: try requestBody.serialize(), contentType: "application/x-www-form-urlencoded", responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
let response: FetchResponse = try await NetworkClient.shared.fetch(options: FetchOptions(url: "\(self.networkSession.baseUrls.baseUrl)\("/oauth2/token")", method: "POST", headers: headersMap, data: try requestBody.serialize(), contentType: "application/x-www-form-urlencoded", responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
return try AccessToken.deserialize(from: response.data)
}

Expand All @@ -61,7 +61,7 @@ public class AuthorizationManager {
/// - Throws: The `GeneralError`.
public func refreshAccessToken(requestBody: PostOAuth2TokenRefreshAccessToken, headers: RefreshAccessTokenHeaders = RefreshAccessTokenHeaders()) async throws -> AccessToken {
let headersMap: [String: String] = Utils.Dictionary.prepareParams(map: Utils.Dictionary.merge([:], headers.extraHeaders))
let response: FetchResponse = try await NetworkClient.shared.fetch(url: "\(self.networkSession.baseUrls.baseUrl)\("/oauth2/token#refresh")", options: FetchOptions(method: "POST", headers: headersMap, data: try requestBody.serialize(), contentType: "application/x-www-form-urlencoded", responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
let response: FetchResponse = try await NetworkClient.shared.fetch(options: FetchOptions(url: "\(self.networkSession.baseUrls.baseUrl)\("/oauth2/token#refresh")", method: "POST", headers: headersMap, data: try requestBody.serialize(), contentType: "application/x-www-form-urlencoded", responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
return try AccessToken.deserialize(from: response.data)
}

Expand All @@ -74,7 +74,7 @@ public class AuthorizationManager {
/// - Throws: The `GeneralError`.
public func revokeAccessToken(requestBody: PostOAuth2Revoke, headers: RevokeAccessTokenHeaders = RevokeAccessTokenHeaders()) async throws {
let headersMap: [String: String] = Utils.Dictionary.prepareParams(map: Utils.Dictionary.merge([:], headers.extraHeaders))
let response: FetchResponse = try await NetworkClient.shared.fetch(url: "\(self.networkSession.baseUrls.baseUrl)\("/oauth2/revoke")", options: FetchOptions(method: "POST", headers: headersMap, data: try requestBody.serialize(), contentType: "application/x-www-form-urlencoded", responseFormat: nil, auth: self.auth, networkSession: self.networkSession))
let response: FetchResponse = try await NetworkClient.shared.fetch(options: FetchOptions(url: "\(self.networkSession.baseUrls.baseUrl)\("/oauth2/revoke")", method: "POST", headers: headersMap, data: try requestBody.serialize(), contentType: "application/x-www-form-urlencoded", responseFormat: nil, auth: self.auth, networkSession: self.networkSession))
}

}
6 changes: 3 additions & 3 deletions Sources/Managers/Avatars/AvatarsManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class AvatarsManager {
/// - Throws: The `GeneralError`.
public func getUserAvatar(userId: String, downloadDestinationURL: URL, headers: GetUserAvatarHeaders = GetUserAvatarHeaders()) async throws -> URL {
let headersMap: [String: String] = Utils.Dictionary.prepareParams(map: Utils.Dictionary.merge([:], headers.extraHeaders))
let response: FetchResponse = try await NetworkClient.shared.fetch(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/users/")\(userId)\("/avatar")", options: FetchOptions(method: "GET", headers: headersMap, downloadDestinationURL: downloadDestinationURL, responseFormat: "binary", auth: self.auth, networkSession: self.networkSession))
let response: FetchResponse = try await NetworkClient.shared.fetch(options: FetchOptions(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/users/")\(userId)\("/avatar")", method: "GET", headers: headersMap, downloadDestinationURL: downloadDestinationURL, responseFormat: "binary", auth: self.auth, networkSession: self.networkSession))
return response.downloadDestinationURL!
}

Expand All @@ -36,7 +36,7 @@ public class AvatarsManager {
/// - Throws: The `GeneralError`.
public func createUserAvatar(userId: String, requestBody: CreateUserAvatarRequestBody, headers: CreateUserAvatarHeaders = CreateUserAvatarHeaders()) async throws -> UserAvatar {
let headersMap: [String: String] = Utils.Dictionary.prepareParams(map: Utils.Dictionary.merge([:], headers.extraHeaders))
let response: FetchResponse = try await NetworkClient.shared.fetch(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/users/")\(userId)\("/avatar")", options: FetchOptions(method: "POST", headers: headersMap, multipartData: [MultipartItem(partName: "pic", fileStream: requestBody.pic, fileName: requestBody.picFileName, contentType: requestBody.picContentType)], contentType: "multipart/form-data", responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
let response: FetchResponse = try await NetworkClient.shared.fetch(options: FetchOptions(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/users/")\(userId)\("/avatar")", method: "POST", headers: headersMap, multipartData: [MultipartItem(partName: "pic", fileStream: requestBody.pic, fileName: requestBody.picFileName, contentType: requestBody.picContentType)], contentType: "multipart/form-data", responseFormat: "json", auth: self.auth, networkSession: self.networkSession))
return try UserAvatar.deserialize(from: response.data)
}

Expand All @@ -50,7 +50,7 @@ public class AvatarsManager {
/// - Throws: The `GeneralError`.
public func deleteUserAvatar(userId: String, headers: DeleteUserAvatarHeaders = DeleteUserAvatarHeaders()) async throws {
let headersMap: [String: String] = Utils.Dictionary.prepareParams(map: Utils.Dictionary.merge([:], headers.extraHeaders))
let response: FetchResponse = try await NetworkClient.shared.fetch(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/users/")\(userId)\("/avatar")", options: FetchOptions(method: "DELETE", headers: headersMap, responseFormat: nil, auth: self.auth, networkSession: self.networkSession))
let response: FetchResponse = try await NetworkClient.shared.fetch(options: FetchOptions(url: "\(self.networkSession.baseUrls.baseUrl)\("/2.0/users/")\(userId)\("/avatar")", method: "DELETE", headers: headersMap, responseFormat: nil, auth: self.auth, networkSession: self.networkSession))
}

}
Loading

0 comments on commit b65822d

Please sign in to comment.