Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 14 additions & 45 deletions HttpUtility/HURequest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,63 +8,32 @@

import Foundation

public protocol Request {
protocol Request {
var url: URL { get set }
var method: HUHttpMethods {get set}
var method: HUHttpMethods { get set }
}

public struct HURequest : Request {
public var url: URL
public var method: HUHttpMethods
var url: URL
var method: HUHttpMethods
var requestBody: Data? = nil

init(withUrl url: URL, forHttpMethod method: HUHttpMethods, requestBody: Data? = nil) {
public init(withUrl url: URL, forHttpMethod method: HUHttpMethods, requestBody: Data? = nil) {
self.url = url
self.method = method
self.requestBody = requestBody != nil ? requestBody : nil
}
}

// the HUMedia will be part of next release
public struct HUMultiPartRequest : Request {
public var url: URL
public var method: HUHttpMethods

var url: URL
var method: HUHttpMethods
var request : Encodable
//var media : [HUMedia]? = nil
}

//public struct HUMedia
//{
// let fileName : String // the name of the file that you want to save on the server
// let data: Data
// let mimeType: String // mime type of the file image/jpeg or image/png etc
// let parameterName : String // api parameter name
//
// init(withMediaData data: Data, name: String, mimeType: HUMimeType, parameterName: String) {
//
// self.data = data
// self.fileName = name
// self.mimeType = mimeType.rawValue
// self.parameterName = parameterName
// }
//}
//
//public enum HUMimeType : String
//{
// // images mime type
// case gif = "image/gif"
// case jpeg = "image/jpeg"
// case pjpeg = "image/pjpeg"
// case png = "image/png"
// case svgxml = "image/svg+xml"
// case tiff = "image/tiff"
// case bmp = "image/bmp"
//
// // document mime type
// case csv = "text/csv"
// case wordDocument = "application/msword"
// case pdf = "application/pdf"
// case richTextFormat = "application/rtf"
// case plainText = "text/plain"
//
//}
public init(withUrl url: URL, forHttpMethod method: HUHttpMethods, requestBody: Encodable) {
self.url = url
self.method = method
self.request = requestBody
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ class HttpUtilityIntegrationTests: XCTestCase {
let requestUrl = URL(string: "https://api-dev-scus-demo.azurewebsites.net/TestMultiPart")

let myStruct = MultiPartPostRequest(name: "Bruce", lastName: "Wayne")
let multiPartRequest = HUMultiPartRequest(url: requestUrl!, method: .post, request: myStruct)
let multiPartRequest = HUMultiPartRequest(withUrl: requestUrl!, forHttpMethod: .post, requestBody: myStruct)

// ACT
_utility.requestWithMultiPartFormData(multiPartRequest: multiPartRequest, responseType: TestMultiPartResponse.self) { (response) in
Expand Down Expand Up @@ -198,7 +198,7 @@ class HttpUtilityIntegrationTests: XCTestCase {

let multiPartFormRequest = MultiPartFormRequest(name: "Bruce", lastName: "Wayne", gender: "Male", departmentName: "Tech", managerName: "James Gordan", dateOfJoining: "01-09-2020", dateOfBirth: "07-07-1988")

let multiPartRequest = HUMultiPartRequest(url: requestUrl!, method: .post, request: multiPartFormRequest)
let multiPartRequest = HUMultiPartRequest(withUrl: requestUrl!, forHttpMethod: .post, requestBody: multiPartFormRequest)

// ACT
_utility.requestWithMultiPartFormData(multiPartRequest: multiPartRequest, responseType: MultiPartResponse.self) { (response) in
Expand Down Expand Up @@ -230,7 +230,7 @@ class HttpUtilityIntegrationTests: XCTestCase {

let fileUploadRequest = MultiPartFormFileUploadRequest(attachment: imageData!, fileName: "utilityTest")

let multiPartRequest = HUMultiPartRequest(url: requestUrl!, method: .post, request: fileUploadRequest)
let multiPartRequest = HUMultiPartRequest(withUrl: requestUrl!, forHttpMethod: .post, requestBody: fileUploadRequest)

// ACT
_utility.requestWithMultiPartFormData(multiPartRequest: multiPartRequest, responseType: MultiPartImageUploadResponse.self) { (response) in
Expand Down