@@ -9,30 +9,30 @@ import (
99 "github.com/sirupsen/logrus"
1010)
1111
12- type AdminConfigData struct {
12+ type TransformationsConfigData struct {
1313 etagTransformations int
1414 transformations string
1515}
1616
17- func InitAdminConfiguration (mux * http.ServeMux ) error {
18- logrus .Info ("Initializing admin configuration" )
17+ func InitTransformationsConfiguration (mux * http.ServeMux ) error {
18+ logrus .Info ("Initializing transformations configuration" )
1919
2020 transformations := fmt .Sprintf (hardcodedAvailableTransformationsTemplate , model .ExternalHost )
2121
22- config := AdminConfigData {
22+ config := TransformationsConfigData {
2323 etagTransformations : 0 ,
2424 transformations : transformations ,
2525 }
2626
2727 // Register HTTP handler
2828 mux .HandleFunc ("/config/transformations" , config .HandleTransformationsEndpoint )
2929
30- logrus .Info ("Admin configuration initialization completed" )
30+ logrus .Info ("Transformations configuration initialization completed" )
3131 return nil
3232}
3333
3434// HandleTransformationsEndpoint handles requests to the /config/transformations endpoint
35- func (config AdminConfigData ) HandleTransformationsEndpoint (w http.ResponseWriter , r * http.Request ) {
35+ func (config TransformationsConfigData ) HandleTransformationsEndpoint (w http.ResponseWriter , r * http.Request ) {
3636 switch r .Method {
3737 case "HEAD" :
3838 config .headAvailableTransformations (w , r )
@@ -44,14 +44,26 @@ func (config AdminConfigData) HandleTransformationsEndpoint(w http.ResponseWrite
4444}
4545
4646// getAvailableTransformations HEAD /config/transformations retrieves all available transformations
47- func (config * AdminConfigData ) headAvailableTransformations (w http.ResponseWriter , _ * http.Request ) {
47+ func (config * TransformationsConfigData ) headAvailableTransformations (w http.ResponseWriter , r * http.Request ) {
48+ accept := r .Header .Get ("Accept" )
49+ if accept != "" && accept != "*/*" && accept != "text/turtle" {
50+ http .Error (w , "Unsupported Media Type. Only text/turtle is supported." , http .StatusUnsupportedMediaType )
51+ return
52+ }
53+
4854 header := w .Header ()
4955 header .Set ("ETag" , strconv .Itoa (config .etagTransformations ))
5056 header .Set ("Content-Type" , "text/turtle" )
5157}
5258
5359// getAvailableTransformations GET /config/transformations retrieves all available transformations
54- func (config * AdminConfigData ) getAvailableTransformations (w http.ResponseWriter , _ * http.Request ) {
60+ func (config * TransformationsConfigData ) getAvailableTransformations (w http.ResponseWriter , r * http.Request ) {
61+ accept := r .Header .Get ("Accept" )
62+ if accept != "" && accept != "*/*" && accept != "text/turtle" {
63+ http .Error (w , "Unsupported Media Type. Only text/turtle is supported." , http .StatusUnsupportedMediaType )
64+ return
65+ }
66+
5567 header := w .Header ()
5668 header .Set ("ETag" , strconv .Itoa (config .etagTransformations ))
5769 header .Set ("Content-Type" , "text/turtle" )
0 commit comments