code: func ContainerMetadataHandler(state dockerstate.TaskEngineState) func(http.ResponseWriter, *http.Request) {
  	return func(w http.ResponseWriter, r *http.Request) {
  		containerID, err := getContainerIDByRequest(r, state)
  		if err != nil {
  			responseJSON, _ := json.Marshal(
  				fmt.Sprintf("V3 container metadata handler: unable to get container ID from request: %s", err.Error()))
  			utils.WriteJSONToResponse(w, http.StatusBadRequest, responseJSON, utils.RequestTypeContainerMetadata)
  			return
  		}
  		containerResponse, err := GetContainerResponse(containerID, state)
  		if err != nil {
  			errResponseJSON, _ := json.Marshal(err.Error())
  			utils.WriteJSONToResponse(w, http.StatusBadRequest, errResponseJSON, utils.RequestTypeContainerMetadata)
  			return
  		}
  		seelog.Infof("V3 container metadata handler: writing response for container '%s'", containerID)
  
  		responseJSON, _ := json.Marshal(containerResponse)
  		utils.WriteJSONToResponse(w, http.StatusOK, responseJSON, utils.RequestTypeContainerMetadata)
  	}
  }
docs: // ContainerMetadataHandler returns the handler method for handling container metadata requests.