private byte[] GetPayload(string startFileName, string startFileID, ListFileMethod method)
        {
            byte[] payload;
            if (method == ListFileMethod.FILE_NAMES)
            {
                ListFileNamesRequest request = new ListFileNamesRequest
                {
                    BucketID      = _bucketID,
                    MaxFileCount  = 10000,
                    StartFileName = startFileName,
                };
                payload = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(request));
            }
            else
            {
                ListFileVersionsRequest request = new ListFileVersionsRequest
                {
                    BucketID      = _bucketID,
                    MaxFileCount  = 10000,
                    StartFileID   = startFileID,
                    StartFileName = startFileName,
                };
                payload = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(request));
            }

            return(payload);
        }
 private ListFilesAction(
     BackblazeB2AuthorizationSession authorizationSession,
     string bucketID,
     ListFileMethod method,
     bool shouldFetchAllFiles
     ) : base(CancellationToken.None)
 {
     _authorizationSession = authorizationSession;
     _bucketID             = bucketID;
     _method = method;
     _shouldFetchAllFiles = shouldFetchAllFiles;
 }
        private BackblazeB2ActionResult <BackblazeB2ListFilesResult> ExecuteWebRequestImpl(string url, string startFileName, string startFileID, ListFileMethod method)
        {
            byte[] payload = GetPayload(startFileName, startFileID, method);

            HttpWebRequest webRequest = GetHttpWebRequest(_authorizationSession.APIURL + url);

            webRequest.Method = "POST";
            webRequest.Headers.Add("Authorization", _authorizationSession.AuthorizationToken);
            webRequest.ContentLength = payload.Length;

            return(SendWebRequestAndDeserialize(webRequest, payload));
        }