                 
                 // get initial values
                 
-                let jsonObject = NSJSONSerialization.JSONObjectWithData(request.body(), options: NSJSONReadingOptions.AllowFragments, error: nil) as? [String: AnyObject]
-                
-                if (jsonObject == nil) {
-                    
-                    response.statusCode = ServerStatusCode.BadRequest.rawValue
-                    
-                    return
-                }
+                let jsonObject = NSJSONSerialization.JSONObjectWithData(request.body(), options: NSJSONReadingOptions.allZeros, error: nil) as? [String: AnyObject]
                 
                 // convert to server request
                 let serverRequest = ServerRequest(requestType: ServerRequestType.POST,

                    if serverResponse.statusCode != ServerStatusCode.OK {
                        
                        response.statusCode = serverResponse.statusCode.rawValue
                        
                        return
                    }

                    functionName: nil,
                    headers: request.headers as [String: String])
                
                if (jsonObject == nil) {
                    
                    response.statusCode = ServerStatusCode.BadRequest.rawValue
                    
                    self.delegate?.server(self, didPerformRequest: serverRequest, withResponse: ServerResponse(statusCode: ServerStatusCode.BadRequest, JSONResponse: nil), userInfo: [ServerUserInfoKey : AnyObject]())
                    
                    return
                }
                
                // process request and return a response
                let (serverResponse, userInfo) = self.responseForCreateRequest(serverRequest)
                
