Method is set through enum value instead of string

This commit is contained in:
2026-10-19 13:53:57 -07:00
parent c65262e3ea
commit 8b6d4fe751
4 changed files with 18 additions and 3 deletions
+1 -1
View File
@@ -65,7 +65,7 @@ public struct Client {
} }
var urlRequest = URLRequest(url: url) var urlRequest = URLRequest(url: url)
urlRequest.httpMethod = request.method urlRequest.httpMethod = request.method.rawValue
urlRequest.allHTTPHeaderFields = headers urlRequest.allHTTPHeaderFields = headers
return urlRequest return urlRequest
} }
@@ -0,0 +1,15 @@
//
// RequestMethod.swift
// JellyKit
//
// Created by Alex Loren on 10/19/26.
//
/// What method should be used when sending a `Request` to Emby or Jellyfin.
/// Usage of this enum prevents any chance of misspelling the method.
public enum RequestMethod: String {
case get = "GET"
case head = "HEAD"
case post = "POST"
case delete = "DELETE"
}
+1 -1
View File
@@ -14,7 +14,7 @@ protocol Request {
var endpoint: String { get set } var endpoint: String { get set }
/// What should this request be sent as? /// What should this request be sent as?
var method: String { get set } var method: RequestMethod { get set }
/// Any additional headers that are specific to *this* request. /// Any additional headers that are specific to *this* request.
/// Headers needed for every reqeust should be set at `Client` creation. /// Headers needed for every reqeust should be set at `Client` creation.
+1 -1
View File
@@ -11,6 +11,6 @@
struct PingRequest: Request { struct PingRequest: Request {
// MARK: - Properties // MARK: - Properties
var endpoint: String = "/System/Ping" var endpoint: String = "/System/Ping"
var method: String = "GET" var method: RequestMethod = .get
var headers: [String : String]? = nil var headers: [String : String]? = nil
} }