     var redirects:Bool
 }
 
-public class Just:NSObject, NSURLSessionDelegate, NSURLSessionTaskDelegate {
+public struct JustSessionDefaults {
+    public var JSONReadingOptions = NSJSONReadingOptions(0)
+    public var JSONWritingOptions = NSJSONWritingOptions(0)
+    public var headers:[String:String] = [:]
+    public var multipartBoundary = "Ju5tH77P15Aw350m3"
+    public var encoding = NSUTF8StringEncoding
+}
+
+public class Just: NSObject, NSURLSessionDelegate, NSURLSessionTaskDelegate {
 
     class var shared: Just {
         struct Singleton {


    public var json:AnyObject? {
        if let theData = self.content {
            return NSJSONSerialization.JSONObjectWithData(theData, options: NSJSONReadingOptions(0), error: nil)
        }
        return nil
    }

                partMimetype = mimetype
            }
            if let content = partContent, let filename = partFilename {
                body.appendData(NSData(data: "Content-Disposition: form-data; name=\"\(k)\"; filename=\"\(filename)\"\r\n".dataUsingEncoding(defaults.encoding)!))
                if let type = partMimetype {
                    body.appendData("Content-Type: \(type)\r\n\r\n".dataUsingEncoding(defaults.encoding)!)
                } else {
                    body.appendData("\r\n".dataUsingEncoding(defaults.encoding)!)
                }
                body.appendData(content)
                body.appendData("\r\n".dataUsingEncoding(defaults.encoding)!)
            }
        }
        if body.length > 0 {
            body.appendData("--\(self.defaults.multipartBoundary)--\r\n".dataUsingEncoding(defaults.encoding)!)
        }
        return body
    }
