42 lines
1.0 KiB
Go
42 lines
1.0 KiB
Go
package handlers
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"net/http"
|
|
"os"
|
|
|
|
"gitea.futuresens.co.uk/futuresens/cmstypes"
|
|
"gitea.futuresens.co.uk/futuresens/logging"
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
const serviceName = "hardlink"
|
|
|
|
// writeError is a helper to send a JSON error and HTTP status in one go.
|
|
func writeError(w http.ResponseWriter, status int, msg string) {
|
|
theResponse := cmstypes.StatusRec{
|
|
Code: status,
|
|
Message: msg,
|
|
}
|
|
w.Header().Set("Content-Type", "application/json")
|
|
w.WriteHeader(status)
|
|
json.NewEncoder(w).Encode(theResponse)
|
|
}
|
|
|
|
func writeTransactionResult(w http.ResponseWriter, status int, theResponse cmstypes.ResponseRec) {
|
|
w.Header().Set("Content-Type", "application/json")
|
|
w.WriteHeader(status)
|
|
if err := json.NewEncoder(w).Encode(theResponse); err != nil {
|
|
logging.Error(serviceName, err.Error(), "JSON encode error", "startTransaction", "", "", 0)
|
|
}
|
|
}
|
|
|
|
func FatalError(err error) {
|
|
fmt.Println(err.Error())
|
|
log.Errorf(err.Error())
|
|
fmt.Println(". Press Enter to exit...")
|
|
fmt.Scanln()
|
|
os.Exit(1)
|
|
}
|