     
     public func build() -> Request {
         
-        do {
-         let data = try JSONSerialization.data(withJSONObject: self.jsonBody, options: JSONSerialization.WritingOptions())
-           return RequestElement(requestId: self.requestId, method:self.method , url: self.url, dataBody: data, headers: self.headers, timeout: self.timeout, conifiguration: self.conifiguration, completion: self.completion)
-            
-        }catch{
-            return RequestElement(requestId: self.requestId, method:self.method , url: self.url, dataBody: nil, headers: self.headers, timeout: self.timeout, conifiguration: self.conifiguration, completion: self.completion)
-            
+        
+        var bodyData: Data? = nil
+        if let body = self.jsonBody {
+            do {
+                bodyData = try body.rawData()
+            }catch{
+                
+            }
         }
+        return RequestElement(requestId: self.requestId, method:self.method , url: self.url, dataBody: bodyData, headers: self.headers, timeout: self.timeout, conifiguration: self.conifiguration, completion: self.completion)
+        
+        
     }
-    
-    
-    
+}
 
-    
-    
-}
+
+
+
+
+
+



public class RequestBuilder {

   public lazy var requestId: String =  {
        return UUID().uuidString
    }()
    

    public var timeout: Double = 3
    public var conifiguration: RequestConfiguration? = nil
    public var completion: completionClosures? = nil
    
    
    public init?(url:String){
        
        if let path = URL(string: url) {
