func (backend *dockerBackend) BuildStagingResponse(taskResponse *models.TaskCallbackResponse) (cc_messages.StagingResponseForCC, error) { var response cc_messages.StagingResponseForCC var annotation cc_messages.StagingTaskAnnotation err := json.Unmarshal([]byte(taskResponse.Annotation), &annotation) if err != nil { return cc_messages.StagingResponseForCC{}, err } if taskResponse.Failed { response.Error = backend.config.Sanitizer(taskResponse.FailureReason) } else { var result docker_app_lifecycle.StagingDockerResult err := json.Unmarshal([]byte(taskResponse.Result), &result) if err != nil { return cc_messages.StagingResponseForCC{}, err } dockerLifecycleData, err := helpers.BuildDockerStagingData(result.DockerImage) if err != nil { return cc_messages.StagingResponseForCC{}, err } response.ExecutionMetadata = result.ExecutionMetadata response.DetectedStartCommand = result.DetectedStartCommand response.LifecycleData = dockerLifecycleData } return response, nil }
func (backend *dockerBackend) BuildStagingResponse(taskResponse *models.TaskCallbackResponse) (cc_messages.StagingResponseForCC, error) { var response cc_messages.StagingResponseForCC if taskResponse.Failed { response.Error = backend.config.Sanitizer(taskResponse.FailureReason) } else { result := json.RawMessage([]byte(taskResponse.Result)) response.Result = &result } return response, nil }
func (backend *traditionalBackend) BuildStagingResponse(taskResponse *models.TaskCallbackResponse) (cc_messages.StagingResponseForCC, error) { var response cc_messages.StagingResponseForCC var annotation cc_messages.StagingTaskAnnotation err := json.Unmarshal([]byte(taskResponse.Annotation), &annotation) if err != nil { return cc_messages.StagingResponseForCC{}, err } if taskResponse.Failed { response.Error = backend.config.Sanitizer(taskResponse.FailureReason) } else { var result buildpack_app_lifecycle.StagingResult err := json.Unmarshal([]byte(taskResponse.Result), &result) if err != nil { return cc_messages.StagingResponseForCC{}, err } buildpackResponse := cc_messages.BuildpackStagingResponse{ BuildpackKey: result.BuildpackKey, DetectedBuildpack: result.DetectedBuildpack, } lifecycleDataJSON, err := json.Marshal(buildpackResponse) if err != nil { return cc_messages.StagingResponseForCC{}, err } lifecycleData := json.RawMessage(lifecycleDataJSON) response.ExecutionMetadata = result.ExecutionMetadata response.DetectedStartCommand = result.DetectedStartCommand response.LifecycleData = &lifecycleData } return response, nil }