@@ -69,12 +69,12 @@ func Configure(api *operations.EasyclaAPI, service v1Template.Service, eventsSer
6969 var param v1Models.CreateClaGroupTemplate
7070 err := copier .Copy (& param , & params .TemplatePreviewInput )
7171 if err != nil {
72- return template . NewTemplatePreviewInternalServerError (). WithPayload ( errorResponse (err ))
72+ return writeResponse ( http . StatusInternalServerError , runtime . JSONMime , runtime . JSONProducer (), errorResponse (err ))
7373 }
7474 pdf , err := service .CreateTemplatePreview (& param , params .TemplateFor )
7575 if err != nil {
7676 log .Warnf ("Error generating PDFs from provided templates, error: %v" , err )
77- return template . NewTemplatePreviewBadRequest (). WithPayload ( errorResponse (err ))
77+ return writeResponse ( http . StatusBadRequest , runtime . JSONMime , runtime . JSONProducer (), errorResponse (err ))
7878 }
7979 return middleware .ResponderFunc (func (rw http.ResponseWriter , pr runtime.Producer ) {
8080 rw .WriteHeader (http .StatusOK )
@@ -103,3 +103,14 @@ func errorResponse(err error) *models.ErrorResponse {
103103
104104 return & e
105105}
106+
107+ func writeResponse (httpStatus int , contentType string , contentProducer runtime.Producer , data interface {}) middleware.Responder {
108+ return middleware .ResponderFunc (func (rw http.ResponseWriter , pr runtime.Producer ) {
109+ rw .Header ().Set (runtime .HeaderContentType , contentType )
110+ rw .WriteHeader (httpStatus )
111+ err := contentProducer .Produce (rw , data )
112+ if err != nil {
113+ log .Warnf ("failed to write data. error = %v" , err )
114+ }
115+ })
116+ }
0 commit comments