/**
  * Update a product.
  *
  * @param GSC_Product $product The product to update.
  *                    Must have rel='edit' set.
  * @param boolean $warnings A boolean to determine if the warnings should be
  *                          included. Defaults to false.
  * @param boolean $dryRun A boolean to determine if the dry-run should be
  *                        included. Defaults to false.
  * @return GSC_Product parsed from the response.
  * @throws GSC_RequestError if the response is an errors element.
  */
 public function updateProduct($product, $warnings = false, $dryRun = false)
 {
     $productUri = $this->appendQueryParams($product->getEditLink(), $warnings, $dryRun);
     $resp = _GSC_Http::put($productUri, $product->toXML(), $this->token);
     return _GSC_AtomParser::parse($resp->body);
 }