code: func (h tableHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
  	// parse params
  	params := mux.Vars(req)
  	dbName := params[pDBName]
  	tableName := params[pTableName]
  	schema, err := h.schema()
  	if err != nil {
  		writeError(w, err)
  		return
  	}
  	// get table's schema.
  	tableVal, err := schema.TableByName(model.NewCIStr(dbName), model.NewCIStr(tableName))
  	if err != nil {
  		writeError(w, err)
  		return
  	}
  
  	switch h.op {
  	case opTableRegions:
  		h.handleRegionRequest(schema, tableVal, w, req)
  	case opTableDiskUsage:
  		h.handleDiskUsageRequest(schema, tableVal, w, req)
  	case opTableScatter:
  		h.handleScatterTableRequest(schema, tableVal, w, req)
  	case opStopTableScatter:
  		h.handleStopScatterTableRequest(schema, tableVal, w, req)
  	default:
  		writeError(w, errors.New("method not found"))
  	}
  }
docs: // ServeHTTP handles table related requests, such as table's region information, disk usage.