                     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)
                 

                    
                    // should not have a body
                    
                    if (jsonBody != nil) {
                        
                        response.statusCode = ServerStatusCode.BadRequest.rawValue
                        
                        return
                    }

                
                // get initial values
                
                let jsonObject = NSJSONSerialization.JSONObjectWithData(request.body(), options: NSJSONReadingOptions.allZeros, error: nil) as? [String: AnyObject]
                
                // convert to server request
                let serverRequest = ServerRequest(requestType: ServerRequestType.POST,
