code: func (c *Client) ServeHTTP(w http.ResponseWriter, r *http.Request) {
  	if r.Method != "POST" {
  		log.Println("invalid " + r.Method + " connection from " + r.RemoteAddr)
  		http.NotFound(w, r)
  		return
  	}
  	msg := Message{}
  	body, err := ioutil.ReadAll(r.Body)
  	log.Println(string(body))
  	if err != nil {
  		log.Println(err)
  		http.NotFound(w, r)
  		return
  	}
  	defer r.Body.Close()
  	err = json.Unmarshal(body, &msg)
  	if err != nil {
  		log.Println(err)
  		http.NotFound(w, r)
  		return
  	}
  	if msg.Token == "" {
  		log.Println("no token from " + r.RemoteAddr)
  		http.NotFound(w, r)
  		return
  	}
  	msg.ChannelName = "#" + msg.ChannelName
  	if c.Token != "" {
  		if msg.Token != c.Token {
  			log.Println("invalid token " + msg.Token + " from " + r.RemoteAddr)
  			http.NotFound(w, r)
  			return
  		}
  	}
  	c.In <- msg
  }
docs: // ServeHTTP implementation.