func dispatchRequest(r *http.Request, params martini.Params) (responseMessage string, isSuccess bool) { //result is JSON objectRequest := messaging.ObjectRequest{} paramMap := make(map[string]interface{}) objectRequest.Extras = paramMap message, isSuccess := getObjectRequest(r, &objectRequest, params) if isSuccess == false { responseMessage = getQueryResponseString("Invalid Query Request", message, false, objectRequest.MessageStack, nil) } else { dispatcher := processors.Dispatcher{} var repResponse repositories.RepositoryResponse = dispatcher.Dispatch(&objectRequest) isSuccess = repResponse.IsSuccess if isSuccess { if repResponse.Body != nil { responseMessage = string(repResponse.Body) //If it's a FILE if checkIfFile(params) != "NAF" { rootsaveDirectory := "" rootgetDirectory := "" if runtime.GOOS == "linux" { rootsaveDirectory = objectRequest.Configuration.ServerConfiguration["LinuxFileServer"]["SavePath"] rootgetDirectory = objectRequest.Configuration.ServerConfiguration["LinuxFileServer"]["GetPath"] } else { rootsaveDirectory = objectRequest.Configuration.ServerConfiguration["WindowsFileServer"]["SavePath"] rootgetDirectory = objectRequest.Configuration.ServerConfiguration["WindowsFileServer"]["GetPath"] } var sendRequest = FileServerMessaging.FileRequest{} sendRequest.Body = repResponse.Body sendRequest.FilePath = "" sendRequest.RootSavePath = rootsaveDirectory sendRequest.RootGetPath = rootgetDirectory exe := FileServer.FileManager{} fileResponse := exe.Download(&sendRequest) if fileResponse.IsSuccess == true { fmt.Println(fileResponse.Message) } else { fmt.Println(fileResponse.Message) } } } else { responseMessage = getQueryResponseString("Successfully completed request", repResponse.Message, isSuccess, objectRequest.MessageStack, repResponse.Data) } } else { responseMessage = getQueryResponseString("Error occured while processing", repResponse.Message, isSuccess, objectRequest.MessageStack, nil) } } return }