func marshalResponse(response Response, maxResponseLength int, logger boshlog.Logger) ([]byte, error) { respJSON, err := json.Marshal(response) if err != nil { logger.Error(mbusHandlerLogTag, "Failed to marshal response: %s", err.Error()) return respJSON, bosherr.WrapError(err, "Marshalling JSON response") } if maxResponseLength == UnlimitedResponseLength { return respJSON, nil } if len(respJSON) > maxResponseLength { respJSON, err = json.Marshal(response.Shorten()) if err != nil { logger.Error(mbusHandlerLogTag, "Failed to marshal response: %s", err.Error()) return respJSON, bosherr.WrapError(err, "Marshalling JSON response") } } if len(respJSON) > maxResponseLength { respJSON, err = BuildErrorWithJSON(responseMaxLengthErrMsg, logger) if err != nil { logger.Error(mbusHandlerLogTag, "Failed to build 'max length exceeded' response: %s", err.Error()) return respJSON, bosherr.WrapError(err, "Building error") } } return respJSON, nil }
func ensureNoErr(logger boshlog.Logger, errPrefix string, err error) { if err != nil { logger.Error(mainLogTag, "%s: %s", errPrefix, err) os.Exit(1) } }