public static System.Threading.Tasks.Task <FileCreated> CreateFileAsync(this Meziantou.GitLab.IGitLabRepositoryFilesClient client, ProjectIdOrPathRef id, string filePath, string branch, Meziantou.GitLab.TextOrBinaryData content, string commitMessage, string?startBranch = default(string?), string?authorEmail = default(string?), string?authorName = default(string?), Meziantou.GitLab.RequestOptions?requestOptions = default(Meziantou.GitLab.RequestOptions), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { Meziantou.GitLab.CreateFileRepositoryFileRequest request = new Meziantou.GitLab.CreateFileRepositoryFileRequest(id, filePath, branch, content, commitMessage); request.StartBranch = startBranch; request.AuthorEmail = authorEmail; request.AuthorName = authorName; return(client.CreateFileAsync(request, requestOptions, cancellationToken)); }
private static string RepositoryFiles_CreateFileAsync_BuildUrl(Meziantou.GitLab.CreateFileRepositoryFileRequest request) { string url; using (Meziantou.GitLab.Internals.UrlBuilder urlBuilder = new Meziantou.GitLab.Internals.UrlBuilder()) { urlBuilder.Append("projects/"); if (request.Id.HasValue) { urlBuilder.AppendParameter(request.Id.GetValueOrDefault().ValueAsString); } urlBuilder.Append("/repository/files/"); if ((!object.ReferenceEquals(request.FilePath, null))) { urlBuilder.AppendParameter(request.FilePath); } url = urlBuilder.ToString(); } return(url); }
private async System.Threading.Tasks.Task <FileCreated> RepositoryFiles_CreateFileAsync(Meziantou.GitLab.CreateFileRepositoryFileRequest request, Meziantou.GitLab.RequestOptions?requestOptions = default(Meziantou.GitLab.RequestOptions), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { string url = Meziantou.GitLab.GitLabClient.RepositoryFiles_CreateFileAsync_BuildUrl(request); using (System.Net.Http.HttpRequestMessage requestMessage = new System.Net.Http.HttpRequestMessage()) { requestMessage.Method = System.Net.Http.HttpMethod.Post; requestMessage.RequestUri = new System.Uri(url, System.UriKind.RelativeOrAbsolute); requestMessage.Content = new Meziantou.GitLab.Internals.JsonContent(request, Meziantou.GitLab.Serialization.JsonSerialization.Options); HttpResponse?response = null; try { response = await this.SendAsync(requestMessage, requestOptions, cancellationToken).ConfigureAwait(false); await response.EnsureStatusCodeAsync(cancellationToken).ConfigureAwait(false); FileCreated?result = await response.ToObjectAsync <FileCreated>(cancellationToken).ConfigureAwait(false); if ((result == null)) { throw new Meziantou.GitLab.GitLabException(response.RequestMethod, response.RequestUri, response.StatusCode, "The response cannot be converted to 'FileCreated' because the body is null or empty"); } return(result); } finally { if ((response != null)) { response.Dispose(); } } } }
System.Threading.Tasks.Task <FileCreated> Meziantou.GitLab.IGitLabRepositoryFilesClient.CreateFileAsync(Meziantou.GitLab.CreateFileRepositoryFileRequest request, Meziantou.GitLab.RequestOptions?requestOptions, System.Threading.CancellationToken cancellationToken) { return(this.RepositoryFiles_CreateFileAsync(request, requestOptions, cancellationToken)); }