class_docstr: Represent a GCS Object, including all its revisions.
class_docstr_tok: ["Represent","a","GCS","Object",",","including","all","its","revisions","."]
docstr: Implement the final insert for a resumable upload.
  
  :param gcs_url:str the root URL for the fake GCS service.
  :param request:flask.Request the contents of the HTTP request.
  :param media:str the media for the object.
  :param resource:dict the metadata for the object.
  :return: the newly created object version.
  :rtype: GcsObjectVersion
docstr_tok: ["Implement","the","final","insert","for","a","resumable","upload",".",":","param","gcs_url",":","str","the","root","URL","for","the","fake","GCS","service",".",":","param","request",":","flask.Request","the","contents","of","the","HTTP","request",".",":","param","media",":","str","the","media","for","the","object",".",":","param","resource",":","dict","the","metadata","for","the","object",".",":","return",":","the","newly","created","object","version",".",":","rtype",":","GcsObjectVersion"]
code: def insert_resumable(self, gcs_url, request, media, resource):
      """Implement the final insert for a resumable upload.
  
      :param gcs_url:str the root URL for the fake GCS service.
      :param request:flask.Request the contents of the HTTP request.
      :param media:str the media for the object.
      :param resource:dict the metadata for the object.
      :return: the newly created object version.
      :rtype: GcsObjectVersion
      """
      self.generation_generator += 1
      revision = GcsObjectVersion(
          gcs_url,
          self.bucket_name,
          self.name,
          self.generation_generator,
          request,
          media,
      )
      meta = revision.metadata.setdefault("metadata", {})
      meta["x_testbench_upload"] = "resumable"
      meta["x_testbench_md5"] = resource.get("md5Hash", "")
      meta["x_testbench_crc32c"] = resource.get("crc32c", "")
      # Apply any overrides from the resource object part.
      revision.update_from_metadata(resource)
      self._insert_revision(revision)
      return revision
  
imports: import base64
  import crc32c
  import error_response
  import hashlib
  import json
  import struct
  import testbench_utils
  import time
label_desc: Use image node_id 12 for calling the GcsObject obj's underlying member method code with example usage: obj.insert_resumable(gcs_url, request, media, resource) and returns: revision