class_docstr: Represent a single revision of a GCS Object.
class_docstr_tok: ["Represent","a","single","revision","of","a","GCS","Object","."]
docstr: Capture the customer-supplied encryption key, if any.
  
  :param request:flask.Request the http request.
  :rtype:NoneType
docstr_tok: ["Capture","the","customer-supplied","encryption","key",",","if","any",".",":","param","request",":","flask.Request","the","http","request",".",":","rtype",":","NoneType"]
code: def _capture_customer_encryption(self, request):
      """Capture the customer-supplied encryption key, if any.
  
      :param request:flask.Request the http request.
      :rtype:NoneType
      """
      if request.headers.get("x-goog-encryption-key") is None:
          return
      prefix = "x-goog-encryption"
      key_header = prefix + "-key"
      hash_header = prefix + "-key-sha256"
      algo_header = prefix + "-algorithm"
      key_header_value = request.headers.get(key_header)
      hash_header_value = request.headers.get(hash_header)
      algo_header_value = request.headers.get(algo_header)
      testbench_utils.validate_customer_encryption_headers(
          key_header_value, hash_header_value, algo_header_value
      )
      self.metadata["customerEncryption"] = {
          "encryptionAlgorithm": algo_header_value,
          "keySha256": hash_header_value,
      }
  
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 7 for calling the GcsObjectVersion obj's underlying member method code with example usage: obj._capture_customer_encryption(request) without return types