code: func (cs *StarterClient) GetCheServerState(ctx context.Context) (*ServerStateResponse, error) {
  	req, err := http.NewRequest("GET", cs.targetURL("server"), nil)
  
  	if err != nil {
  		return nil, err
  	}
  
  	cs.setHeaders(ctx, req)
  
  	if log.IsDebug() {
  		b, _ := httputil.DumpRequest(req, true)
  		log.Debug(ctx, map[string]interface{}{
  			"request": string(b),
  		}, "dump of the request to get the che server state")
  	}
  
  	resp, err := cs.client.Do(req)
  
  	if err != nil {
  		return nil, err
  	}
  
  	defer rest.CloseResponse(resp)
  
  	if resp.StatusCode != http.StatusCreated && resp.StatusCode != http.StatusOK {
  		statusErr := StarterError{}
  		err = json.NewDecoder(resp.Body).Decode(&statusErr)
  		if err != nil {
  			log.Error(ctx, map[string]interface{}{
  				"err": err,
  			}, "failed to decode error response from get che server state")
  			return nil, err
  		}
  		log.Error(ctx, map[string]interface{}{
  			"err": statusErr.String(),
  		}, "failed to execute get che server state")
  		return nil, &statusErr
  	}
  
  	cheServerStateResponse := ServerStateResponse{}
  	err = json.NewDecoder(resp.Body).Decode(&cheServerStateResponse)
  	if err != nil {
  		log.Error(ctx, map[string]interface{}{
  			"err": err,
  		}, "failed to decode response from getting che server state")
  		return nil, err
  	}
  	return &cheServerStateResponse, nil
  }
docs: // GetCheServerState get che server state.