 
     func encode<T: Encodable>(_ value: T) throws {
         if let data = value as? Data {
-            encoder.data = data
+            encoder.body = HTTPBody(data)
         } else {
             try value.encode(to: encoder)
         }

    }

    func encodeNil() throws {
        encoder.data = nil
    }

    func encode(_ value: Bool) throws {
        encoder.data = value.description.data(using: .utf8)
    }

    func encode(_ value: Int) throws {
        encoder.data = value.description.data(using: .utf8)
    }

    func encode(_ value: Double) throws {
        encoder.data = value.description.data(using: .utf8)
    }

    func encode(_ value: String) throws {
        encoder.data = value.description.data(using: .utf8)
    }

    func encode(_ value: Int8) throws {

/// MARK: Content

extension DataEncoder: BodyEncoder {
    public func encodeBody<T>(from encodable: T) throws -> HTTPBody where T : Encodable {
        return try self.encode(encodable)
    }
}
