docs: def FingerprintFile(self, pathspec, max_filesize=None, request_data=None):
      """Launch a fingerprint client action."""
      request = rdf_client_action.FingerprintRequest(pathspec=pathspec)
      if max_filesize is not None:
        request.max_filesize = max_filesize
  
      # Generic hash.
      request.AddRequest(
          fp_type=rdf_client_action.FingerprintTuple.Type.FPT_GENERIC,
          hashers=[
              rdf_client_action.FingerprintTuple.HashType.MD5,
              rdf_client_action.FingerprintTuple.HashType.SHA1,
              rdf_client_action.FingerprintTuple.HashType.SHA256
          ])
  
      # Authenticode hash.
      request.AddRequest(
          fp_type=rdf_client_action.FingerprintTuple.Type.FPT_PE_COFF,
          hashers=[
              rdf_client_action.FingerprintTuple.HashType.MD5,
              rdf_client_action.FingerprintTuple.HashType.SHA1,
              rdf_client_action.FingerprintTuple.HashType.SHA256
          ])
  
      self.CallClient(
          self.fingerprint_file_mixin_client_action,
          request,
          next_state="ProcessFingerprint",
          request_data=request_data)