20 lines
		
	
	
		
			518 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			518 B
		
	
	
	
		
			Go
		
	
	
	
| package handler
 | |
| 
 | |
| import (
 | |
| 	"github.com/labstack/echo/v4"
 | |
| 	"net/http"
 | |
| )
 | |
| 
 | |
| // ContentTypeJson checks that the requests have the Content-Type header set to "application/json".
 | |
| // This helps against CSRF attacks.
 | |
| func ContentTypeJson(next echo.HandlerFunc) echo.HandlerFunc {
 | |
| 	return func(c echo.Context) error {
 | |
| 		contentType := c.Request().Header.Get("Content-Type")
 | |
| 		if contentType != "application/json" {
 | |
| 			return c.JSON(http.StatusBadRequest, jsonHTTPResponse{false, "Only JSON allowed"})
 | |
| 		}
 | |
| 
 | |
| 		return next(c)
 | |
| 	}
 | |
| }
 |