github.com/maeglindeveloper/gqlgen@v0.13.1-0.20210413081235-57808b12a0a0/graphql/handler/transport/util.go (about)

     1  package transport
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     6  	"io"
     7  
     8  	"github.com/99designs/gqlgen/graphql"
     9  	"github.com/vektah/gqlparser/v2/gqlerror"
    10  )
    11  
    12  func writeJson(w io.Writer, response *graphql.Response) {
    13  	b, err := json.Marshal(response)
    14  	if err != nil {
    15  		panic(err)
    16  	}
    17  	w.Write(b)
    18  }
    19  
    20  func writeJsonError(w io.Writer, msg string) {
    21  	writeJson(w, &graphql.Response{Errors: gqlerror.List{{Message: msg}}})
    22  }
    23  
    24  func writeJsonErrorf(w io.Writer, format string, args ...interface{}) {
    25  	writeJson(w, &graphql.Response{Errors: gqlerror.List{{Message: fmt.Sprintf(format, args...)}}})
    26  }
    27  
    28  func writeJsonGraphqlError(w io.Writer, err ...*gqlerror.Error) {
    29  	writeJson(w, &graphql.Response{Errors: err})
    30  }