func PerformHandlerWithJSON(rawJSON []byte, handler Func, maxResponseLength int, logger boshlog.Logger) ([]byte, Request, error) { var request Request err := json.Unmarshal(rawJSON, &request) if err != nil { return []byte{}, request, bosherr.WrapError(err, "Unmarshalling JSON payload") } request.Payload = rawJSON response := handler(request) if response == nil { logger.Info(mbusHandlerLogTag, "Nil response returned from handler") return []byte{}, request, nil } respJSON, err := marshalResponse(response, maxResponseLength, logger) if err != nil { return respJSON, request, err } logger.Info(mbusHandlerLogTag, "Responding") logger.DebugWithDetails(mbusHandlerLogTag, "Payload", respJSON) return respJSON, request, nil }
func BuildErrorWithJSON(msg string, logger boshlog.Logger) ([]byte, error) { response := NewExceptionResponse(bosherr.Error(msg)) respJSON, err := json.Marshal(response) if err != nil { return respJSON, bosherr.WrapError(err, "Marshalling JSON") } logger.Info(mbusHandlerLogTag, "Building error", msg) return respJSON, nil }
func (c *tempRootConfigurator) PrepareAndSetTempRoot(path string, logger logger.Logger) error { logger.Info("tempRootConfigurator", "Preparing temp root: %s", path) if c.fs.FileExists(path) { logger.Info("tempRootConfigurator", "Path exists, deleting") err := c.fs.RemoveAll(path) if err != nil { return err } } logger.Info("tempRootConfigurator", "Setting file system temp root") err := c.fs.ChangeTempRoot(path) if err != nil { return err } return nil }