@@ -18,6 +18,7 @@ public class ContentType: CachePolicyAccessible {
1818 var uid : String ?
1919 internal var stack : Stack
2020 internal var parameters : Parameters = [ : ]
21+ internal var headers : [ String : String ] = [ : ]
2122 public var cachePolicy : CachePolicy = . networkOnly
2223
2324 internal required init ( _ uid: String ? , stack: Stack ) {
@@ -98,6 +99,42 @@ public class ContentType: CachePolicyAccessible {
9899 }
99100 return query
100101 }
102+
103+ /// The Query parameters dictionary that are converted to `URLComponents`.
104+ /// - Parameters:
105+ /// - key: The key for header parameter,
106+ /// - value: The value for header parameter.
107+ ///
108+ /// Example usage:
109+ /// ```
110+ /// let stack = Contentstack.stack(apiKey: apiKey,
111+ /// deliveryToken: deliveryToken,
112+ ///
113+ /// // To fetch allContentTypes
114+ /// stack.contentType().addValue("value", forHTTPHeaderField: "header")
115+ /// .fetch { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in
116+ /// switch result {
117+ /// case .success(let contentstackResponse):
118+ /// // Contentstack response with ContentTypeModel array in items.
119+ /// case .failure(let error):
120+ /// //Error Message
121+ /// }
122+ /// }
123+ /// // To fetch Assets
124+ /// stack.asset().query().addValue("value", forHTTPHeaderField: "header")
125+ /// .fetch { (result: Result<ContentTypeModel, Error>, response: ResponseType) in
126+ /// switch result {
127+ /// case .success(let model):
128+ /// //Model retrive from API
129+ /// case .failure(let error):
130+ /// //Error Message
131+ /// }
132+ /// }
133+ /// ```
134+ public func addValue( _ value: String , forHTTPHeaderField field: String ) -> Self {
135+ self . headers [ field] = value
136+ return self
137+ }
101138}
102139
103140extension ContentType : ResourceQueryable {
@@ -127,6 +164,7 @@ extension ContentType: ResourceQueryable {
127164 self . stack. fetch ( endpoint: ResourceType . endpoint,
128165 cachePolicy: self . cachePolicy,
129166 parameters: parameters + [ QueryParameter . uid: uid] ,
167+ headers: headers,
130168 then: { ( result: Result < ContentstackResponse < ResourceType > , Error > , response: ResponseType ) in
131169 switch result {
132170 case . success( let contentStackResponse) :
0 commit comments