github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/api/wallserver/wall.go (about)

     1  package wallserver
     2  
     3  import (
     4  	"encoding/json"
     5  	"net/http"
     6  
     7  	"github.com/pf-qiu/concourse/v6/atc"
     8  )
     9  
    10  func (s *Server) GetWall(w http.ResponseWriter, r *http.Request) {
    11  	logger := s.logger.Session("wall")
    12  
    13  	w.Header().Set("Content-Type", "application/json")
    14  
    15  	wall, err := s.wall.GetWall()
    16  	if err != nil {
    17  		logger.Error("failed-to-get-message", err)
    18  		w.WriteHeader(http.StatusInternalServerError)
    19  		return
    20  	}
    21  
    22  	err = json.NewEncoder(w).Encode(wall)
    23  	if err != nil {
    24  		logger.Error("failed-to-encode-json", err)
    25  		w.WriteHeader(http.StatusInternalServerError)
    26  		return
    27  	}
    28  }
    29  
    30  func (s *Server) SetWall(w http.ResponseWriter, r *http.Request) {
    31  	logger := s.logger.Session("wall")
    32  
    33  	var wall atc.Wall
    34  	err := json.NewDecoder(r.Body).Decode(&wall)
    35  	if err != nil {
    36  		logger.Error("failed-to-decode-json", err)
    37  		w.WriteHeader(http.StatusInternalServerError)
    38  		return
    39  	}
    40  
    41  	err = s.wall.SetWall(wall)
    42  	if err != nil {
    43  		logger.Error("failed-to-set-wall-message", err)
    44  		w.WriteHeader(http.StatusInternalServerError)
    45  		return
    46  	}
    47  }
    48  
    49  func (s *Server) ClearWall(w http.ResponseWriter, r *http.Request) {
    50  	logger := s.logger.Session("wall")
    51  	err := s.wall.Clear()
    52  	if err != nil {
    53  		logger.Error("failed-to-clear-the-wall", err)
    54  		w.WriteHeader(http.StatusInternalServerError)
    55  	}
    56  }