diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..216804e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,93 @@ +name: CI + +on: + push: + branches: ['**'] + pull_request: + branches: [main] + +env: + DOTNET_VERSION: '10.x' + +jobs: + build-and-test: + name: Build & Test (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + + steps: + - uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: Restore + run: dotnet restore src/HttpClientServiceHelper.sln + + - name: Build + run: dotnet build src/HttpClientServiceHelper.sln --no-restore --configuration Release + + - name: Test + run: >- + dotnet test src/HttpClientServiceHelper.Tests/HttpClientServiceHelper.Tests.csproj + --no-build --configuration Release + --logger trx + --results-directory ${{ github.workspace }}/TestResults + /p:CollectCoverage=true + /p:CoverletOutputFormat=cobertura + "/p:CoverletOutput=${{ github.workspace }}/TestResults/coverage.cobertura.xml" + + - name: Install report generator + run: dotnet tool install --global dotnet-reportgenerator-globaltool + + - name: Generate coverage report + run: >- + reportgenerator + "-reports:${{ github.workspace }}/TestResults/coverage.cobertura.xml" + "-targetDir:${{ github.workspace }}/TestResults/CoverageReport" + -reportTypes:htmlInline + + - name: Upload test results + uses: actions/upload-artifact@v4 + if: always() + with: + name: test-results-${{ matrix.os }} + path: ${{ github.workspace }}/TestResults/*.trx + + - name: Upload coverage report + uses: actions/upload-artifact@v4 + if: always() + with: + name: coverage-report-${{ matrix.os }} + path: ${{ github.workspace }}/TestResults/CoverageReport + + publish: + name: Publish to NuGet + runs-on: ubuntu-latest + needs: build-and-test + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + + steps: + - uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: Restore + run: dotnet restore src/HttpClientServiceHelper.sln + + - name: Pack + run: dotnet pack src/HttpClientServiceHelper/HttpClientServiceHelper.csproj --configuration Release + + - name: Push to NuGet + run: >- + dotnet nuget push "**/*.nupkg" + --source https://api.nuget.org/v3/index.json + --api-key ${{ secrets.NUGET_API_KEY }} + --skip-duplicate diff --git a/README.md b/README.md index ad49d17..49e9bf9 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,13 @@ # HttpClientServiceHelper + .NET HTTP Client Service library. ## Stats and Reports ![GitHub contributors](https://img.shields.io/github/contributors-anon/daraoladapo/HttpClientServiceHelper) - [![Build Status](https://dev.azure.com/daraoladapo/HttpClientServiceHelper/_apis/build/status/HttpClientServiceHelper?branchName=master)](https://dev.azure.com/daraoladapo/HttpClientServiceHelper/_build/latest?definitionId=3&branchName=master) + [![Build Status](https://github.com/DaraOladapo/HttpClientServiceHelper/actions/workflows/ci.yml/badge.svg)](https://github.com/DaraOladapo/HttpClientServiceHelper/actions/workflows/ci.yml) ![Nuget](https://img.shields.io/nuget/dt/HttpClientServiceHelper?label=Total%20NUGET%20Downloads) - ![GitHub](https://img.shields.io/github/license/daraoladapo/httpclientservicehelper) - - - + ![GitHub](https://img.shields.io/github/license/daraoladapo/httpclientservicehelper) Use this library to quickly bootstrap your HttpClient Service calls. It uses the System.Net.Http library. @@ -34,4 +32,4 @@ Copy the following into the .csproj file of your project (using version 1.0.0 as Get the NUGET Package [here](https://www.nuget.org/packages/HttpClientServiceHelper). -Happy Usage! +Happy Usage! \ No newline at end of file diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 90a8803..0000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,120 +0,0 @@ -# ASP.NET Core -# Build and test ASP.NET Core projects targeting .NET Core. -# Add steps that run tests, create a NuGet package, deploy, and more: -# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core - -trigger: -- master -variables: - buildConfiguration: 'Release' - -stages: - # - stage: windowsbuild - - stage: windowsbuild - displayName: 'Build for Windows' - jobs: - - job: build - displayName: 'Windows Build' - pool: - vmImage: 'windows-latest' - - steps: - - task: DotNetCoreCLI@2 - displayName: 'Restore' - inputs: - command: 'restore' - projects: '**/**/*.csproj' - feedsToUse: 'select' - - task: DotNetCoreCLI@2 - displayName: "Build" - inputs: - command: 'build' - projects: '**/*.csproj' - - - # displayName: 'Build for Linux' - - stage: linuxbuild - displayName: 'Build for Linux' - jobs: - - job: build - displayName: 'Linux Build' - pool: - vmImage: 'ubuntu-latest' - - steps: - - task: DotNetCoreCLI@2 - displayName: 'Restore' - inputs: - command: 'restore' - projects: '**/**/*.csproj' - feedsToUse: 'select' - - task: DotNetCoreCLI@2 - displayName: 'Build' - inputs: - command: 'build' - projects: '**/*.csproj' - # - task: DotNetCoreCLI@2 - # displayName: 'Test' - # inputs: - # command: 'test' - # projects: '**/**/*.Tests.csproj' - # testRunTitle: 'Unit Test' - - task: DotNetCoreCLI@2 - displayName: ".NET Install Global Test Tool" - inputs: - command: 'custom' - custom: 'tool' - arguments: 'install --global dotnet-reportgenerator-globaltool' - - - script: dotnet test **/HttpClientServiceHelper.Tests/HttpClientServiceHelper.Tests.csproj --logger "trx;LogFileName=testresults.trx" /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:CoverletOutput=$(Build.SourcesDirectory)/TestResults/Coverage/ - displayName: '.NET Test' - - - script: dotnet reportgenerator "-reports:$(Build.SourcesDirectory)/TestResults/Coverage/coverage.cobertura.xml" "-targetDir:$(Build.SourcesDirectory)/TestResults/Coverage/Reports" -tag:$(Build.BuildNumber) -reportTypes:htmlInline - workingDirectory: $(Build.SourcesDirectory)/src/HttpClientServiceHelper.Tests - displayName: '.NET Report Generator' - - - task: PublishTestResults@2 - inputs: - testRunner: VSTest - testResultsFiles: '**/*.trx' - failTaskOnFailedTests: true - - - task: PublishCodeCoverageResults@1 - inputs: - codeCoverageTool: 'cobertura' - summaryFileLocation: $(Build.SourcesDirectory)/TestResults/Coverage/**/coverage.cobertura.xml - reportDirectory: $(Build.SourcesDirectory)/TestResults/Coverage/Reports - failIfCoverageEmpty: false - - - task: NuGetToolInstaller@1 - displayName: 'NUGET Installer' - inputs: - versionSpec: - - - task: DotNetCoreCLI@2 - displayName: 'Publish Artifacts' - inputs: - command: 'publish' - publishWebProjects: false - projects: '**/**/*.csproj' - arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)' - zipAfterPublish: false - - - task: DotNetCoreCLI@2 - displayName: "Package for NUGET" - inputs: - command: 'pack' - packagesToPack: '**/**/HttpClientServiceHelper.csproj' - nobuild: true - versioningScheme: 'off' - - - task: NuGetCommand@2 - displayName: 'NUGET push to Gallery' - condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) - inputs: - command: 'push' - packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg' - nuGetFeedType: 'external' - publishFeedCredentials: 'HTTP Client Helper NUGET' - - diff --git a/docs/API.md b/docs/API.md new file mode 100644 index 0000000..93787d8 --- /dev/null +++ b/docs/API.md @@ -0,0 +1,26 @@ +# API Reference + +## Get +Handles HTTP GET requests. See `src/HttpClientServiceHelper/Get.cs` for implementation details. + +## Post +Handles HTTP POST requests. See `src/HttpClientServiceHelper/Post.cs` for implementation details. + +## Put +Handles HTTP PUT requests. See `src/HttpClientServiceHelper/Put.cs` for implementation details. + +## Patch +Handles HTTP PATCH requests. See `src/HttpClientServiceHelper/Patch.cs` for implementation details. + +## Delete +Handles HTTP DELETE requests. See `src/HttpClientServiceHelper/Delete.cs` for implementation details. + +## HttpClientServiceHelper +Central helper class for HTTP operations. See `src/HttpClientServiceHelper/HttpClientServiceHelper.cs`. + +## Models +- **Authorization**: Represents authorization data (e.g., Bearer tokens). +- **Header**: Represents custom HTTP headers. +- **GenericModel**: Generic model for request/response payloads. + +See `src/HttpClientServiceHelper/Models/` for all model classes. diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..fd97487 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,45 @@ +# HttpClientServiceHelper Documentation + +## Overview +HttpClientServiceHelper is a .NET library designed to simplify HTTP operations (GET, POST, PUT, PATCH, DELETE) with a focus on reusability, testability, and ease of use. It provides helper classes and models to streamline HTTP requests and responses, including support for custom headers and authorization. + +## Project Structure +- **src/HttpClientServiceHelper/**: Main library source code +- **src/HttpClientServiceHelper.Tests/**: Unit tests for the library +- **src/HttpClientServiceHelper/Models/**: Data models for headers, authorization, and generic payloads +- **src/HttpClientServiceHelper/Assets/**: Static assets (if any) +- **/docs/**: Project documentation + +## Main Components +### Core Classes +- **Get.cs**: Handles HTTP GET requests +- **Post.cs**: Handles HTTP POST requests +- **Put.cs**: Handles HTTP PUT requests +- **Patch.cs**: Handles HTTP PATCH requests +- **Delete.cs**: Handles HTTP DELETE requests +- **HttpClientServiceHelper.cs**: Central helper class for HTTP operations + +### Models +- **Authorization.cs**: Represents authorization data (e.g., Bearer tokens) +- **Header.cs**: Represents custom HTTP headers +- **GenericModel.cs**: Generic model for request/response payloads + +## Usage +1. Add the library to your .NET project. +2. Instantiate the relevant helper class (e.g., `Get`, `Post`). +3. Use the provided methods to perform HTTP operations, passing in models as needed. + +## Testing +- Unit tests are located in `src/HttpClientServiceHelper.Tests/`. +- Tests cover all HTTP methods and edge cases. + +## Upgrading +- The project targets the latest .NET (net10.0) for the main library and will be updated for the test project. +- Dependencies are kept up to date (e.g., Newtonsoft.Json 13.0.3). + +## Contribution +- Feature branches are used for major upgrades and changes. +- Issues and pull requests are tracked on GitHub. + +## License +This project is licensed under the MIT License. diff --git a/docs/UPGRADE.md b/docs/UPGRADE.md new file mode 100644 index 0000000..2e1c37f --- /dev/null +++ b/docs/UPGRADE.md @@ -0,0 +1,22 @@ +# Upgrade Guide + +## Upgrading to .NET 10.0 + +- Update the `` in all .csproj files to `net10.0`. +- Update all dependencies to their latest stable versions (e.g., Newtonsoft.Json 13.0.3). +- Run `dotnet restore` and `dotnet build` to ensure compatibility. +- Run all tests to verify functionality. + +## Project Structure +- Main library: `src/HttpClientServiceHelper/` +- Tests: `src/HttpClientServiceHelper.Tests/` +- Models: `src/HttpClientServiceHelper/Models/` + +## Troubleshooting +- If you encounter build errors, check for breaking changes in .NET or dependencies. +- Review the official .NET migration documentation for additional guidance. + +## Contribution Workflow +- Use feature branches for upgrades and major changes. +- Open a pull request and link to the relevant issue. +- Ensure all tests pass before merging. diff --git a/src/HttpClientServiceHelper.Tests/DeleteTest.cs b/src/HttpClientServiceHelper.Tests/DeleteTest.cs index 4e3e812..ab242c5 100644 --- a/src/HttpClientServiceHelper.Tests/DeleteTest.cs +++ b/src/HttpClientServiceHelper.Tests/DeleteTest.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Net.Http; using System.Text; +using System.Threading.Tasks; using Xunit; namespace HttpClientServiceHelper.Tests @@ -14,35 +15,35 @@ public class DeleteTest List
Headers = new List
() { new Header() { Name = "SomeHeaderName", Value = "SomeHeaderValue" } }; [Fact] - public async void DeleteAsync() + public async Task DeleteAsync() { var DeleteResponse = await HttpClientHelper.DeleteAsync(Route); Assert.NotNull(DeleteResponse); Assert.IsType(DeleteResponse); } [Fact] - public async void Delete_DeleteResponseAsStringAsync() + public async Task Delete_DeleteResponseAsStringAsync() { var DeleteResponse = await HttpClientHelper.DeleteAndGetResponseAsStringAsync(Route); Assert.NotNull(DeleteResponse); Assert.IsType(DeleteResponse); } [Fact] - public async void Delete_WithToken_DeleteResponseAsStringAsync() + public async Task Delete_WithToken_DeleteResponseAsStringAsync() { var DeleteResponse = await HttpClientHelper.DeleteAndGetResponseAsStringAsync(Route, Token); Assert.NotNull(DeleteResponse); Assert.IsType(DeleteResponse); } [Fact] - public async void DeleteAsync_WithToken() + public async Task DeleteAsync_WithToken() { var DeleteResponse = await HttpClientHelper.DeleteAsync(Route, Token); Assert.NotNull(DeleteResponse); Assert.IsType(DeleteResponse); } [Fact] - public async void DeleteAsync_WithHeaders() + public async Task DeleteAsync_WithHeaders() { var DeleteResponse = await HttpClientHelper.DeleteAsync(Route, Headers); Assert.NotNull(DeleteResponse); diff --git a/src/HttpClientServiceHelper.Tests/GetTest.cs b/src/HttpClientServiceHelper.Tests/GetTest.cs index 3945e21..0fbacd8 100644 --- a/src/HttpClientServiceHelper.Tests/GetTest.cs +++ b/src/HttpClientServiceHelper.Tests/GetTest.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Net.Http; using System.Text; +using System.Threading.Tasks; using Xunit; namespace HttpClientServiceHelper.Tests { @@ -11,28 +12,28 @@ public class GetTest string Route = "https://daraoladapo.com"; string Token = Guid.NewGuid().ToString(); [Fact] - public async void GetAsync() + public async Task GetAsync() { var GetResponse = await HttpClientHelper.GetAsync(Route); Assert.NotNull(GetResponse); Assert.IsType(GetResponse); } [Fact] - public async void Get_GetResponseAsStringAsync() + public async Task Get_GetResponseAsStringAsync() { var GetResponse = await HttpClientHelper.GetAsStringAsync(Route); Assert.NotNull(GetResponse); Assert.IsType(GetResponse); } [Fact] - public async void Get_WithToken_GetResponseAsStringAsync() + public async Task Get_WithToken_GetResponseAsStringAsync() { var GetResponse = await HttpClientHelper.GetAsStringAsync(Route, Token); Assert.NotNull(GetResponse); Assert.IsType(GetResponse); } [Fact] - public async void GetAsync_WithToken() + public async Task GetAsync_WithToken() { var GetResponse = await HttpClientHelper.GetAsync(Route, Token); Assert.NotNull(GetResponse); diff --git a/src/HttpClientServiceHelper.Tests/HttpClientServiceHelper.Tests.csproj b/src/HttpClientServiceHelper.Tests/HttpClientServiceHelper.Tests.csproj index a88a02d..e342ac3 100644 --- a/src/HttpClientServiceHelper.Tests/HttpClientServiceHelper.Tests.csproj +++ b/src/HttpClientServiceHelper.Tests/HttpClientServiceHelper.Tests.csproj @@ -1,24 +1,23 @@ - netcoreapp3.1 + net10.0 false - - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/src/HttpClientServiceHelper.Tests/PatchTest.cs b/src/HttpClientServiceHelper.Tests/PatchTest.cs index 680ad4d..620ded3 100644 --- a/src/HttpClientServiceHelper.Tests/PatchTest.cs +++ b/src/HttpClientServiceHelper.Tests/PatchTest.cs @@ -1,5 +1,6 @@ using System; using System.Net.Http; +using System.Threading.Tasks; using HttpClientServiceHelper.Tests.Mock; using Xunit; @@ -10,7 +11,7 @@ public class PatchTest string Route = "https://daraoladapo.com"; string Token = Guid.NewGuid().ToString(); [Fact] - public async void PatchAsync() + public async Task PatchAsync() { var _Person = Person.GetPerson(); var PatchResponse = await HttpClientHelper.PatchAsync(Route, _Person); @@ -18,7 +19,7 @@ public async void PatchAsync() Assert.IsType(PatchResponse); } [Fact] - public async void Patch_GetResponseAsStringAsync() + public async Task Patch_GetResponseAsStringAsync() { var _Person = Person.GetPerson(); var PatchResponse = await HttpClientHelper.PatchAndGetResponseAsStringAsync(Route, _Person); @@ -26,7 +27,7 @@ public async void Patch_GetResponseAsStringAsync() Assert.IsType(PatchResponse); } [Fact] - public async void Patch_WithToken_GetResponseAsStringAsync() + public async Task Patch_WithToken_GetResponseAsStringAsync() { var _Person = Person.GetPerson(); var PatchResponse = await HttpClientHelper.PatchAndGetResponseAsStringAsync(Route, _Person, Token); @@ -34,7 +35,7 @@ public async void Patch_WithToken_GetResponseAsStringAsync() Assert.IsType(PatchResponse); } [Fact] - public async void PatchAsync_WithToken() + public async Task PatchAsync_WithToken() { var _Person = Person.GetPerson(); var PatchResponse = await HttpClientHelper.PatchAsync(Route, _Person, Token); diff --git a/src/HttpClientServiceHelper.Tests/PostTest.cs b/src/HttpClientServiceHelper.Tests/PostTest.cs index d075563..85db1bf 100644 --- a/src/HttpClientServiceHelper.Tests/PostTest.cs +++ b/src/HttpClientServiceHelper.Tests/PostTest.cs @@ -13,7 +13,7 @@ public class PostTest string Route = "https://daraoladapo.com"; string Token = Guid.NewGuid().ToString(); [Fact] - public async void PostAsync() + public async Task PostAsync() { var _Person = Person.GetPerson(); var PostResponse = await HttpClientHelper.PostAsync(Route, _Person); @@ -21,7 +21,7 @@ public async void PostAsync() Assert.IsType(PostResponse); } [Fact] - public async void Post_GetResponseAsStringAsync() + public async Task Post_GetResponseAsStringAsync() { var _Person = Person.GetPerson(); var PostResponse = await HttpClientHelper.PostAndGetResponseAsStringAsync(Route, _Person); @@ -29,7 +29,7 @@ public async void Post_GetResponseAsStringAsync() Assert.IsType(PostResponse); } [Fact] - public async void Post_WithToken_GetResponseAsStringAsync() + public async Task Post_WithToken_GetResponseAsStringAsync() { var _Person = Person.GetPerson(); var PostResponse = await HttpClientHelper.PostAndGetResponseAsStringAsync(Route, _Person, Token); @@ -37,7 +37,7 @@ public async void Post_WithToken_GetResponseAsStringAsync() Assert.IsType(PostResponse); } [Fact] - public async void PostAsync_WithToken() + public async Task PostAsync_WithToken() { var _Person = Person.GetPerson(); var PostResponse = await HttpClientHelper.PostAsync(Route, _Person, Token); diff --git a/src/HttpClientServiceHelper.Tests/PutTest.cs b/src/HttpClientServiceHelper.Tests/PutTest.cs index 23a3112..51d4c69 100644 --- a/src/HttpClientServiceHelper.Tests/PutTest.cs +++ b/src/HttpClientServiceHelper.Tests/PutTest.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Net.Http; using System.Text; +using System.Threading.Tasks; using Xunit; namespace HttpClientServiceHelper.Tests @@ -12,7 +13,7 @@ public class PutTest string Route = "https://daraoladapo.com"; string Token = Guid.NewGuid().ToString(); [Fact] - public async void PutAsync() + public async Task PutAsync() { var _Person = Person.GetPerson(); var PutResponse = await HttpClientHelper.PutAsync(Route, _Person); @@ -20,7 +21,7 @@ public async void PutAsync() Assert.IsType(PutResponse); } [Fact] - public async void Put_GetResponseAsStringAsync() + public async Task Put_GetResponseAsStringAsync() { var _Person = Person.GetPerson(); var PutResponse = await HttpClientHelper.PutAndGetResponseAsStringAsync(Route, _Person); @@ -28,7 +29,7 @@ public async void Put_GetResponseAsStringAsync() Assert.IsType(PutResponse); } [Fact] - public async void Put_WithToken_GetResponseAsStringAsync() + public async Task Put_WithToken_GetResponseAsStringAsync() { var _Person = Person.GetPerson(); var PutResponse = await HttpClientHelper.PutAndGetResponseAsStringAsync(Route, _Person, Token); @@ -36,7 +37,7 @@ public async void Put_WithToken_GetResponseAsStringAsync() Assert.IsType(PutResponse); } [Fact] - public async void PutAsync_WithToken() + public async Task PutAsync_WithToken() { var _Person = Person.GetPerson(); var PutResponse = await HttpClientHelper.PutAsync(Route, _Person, Token); diff --git a/src/HttpClientServiceHelper/Get.cs b/src/HttpClientServiceHelper/Get.cs index 0c2ec49..bedea05 100644 --- a/src/HttpClientServiceHelper/Get.cs +++ b/src/HttpClientServiceHelper/Get.cs @@ -13,6 +13,7 @@ namespace HttpClientServiceHelper /// public partial class HttpClientHelper { + #region TODO /// /// Triggers a GET request to the specified route and retrieves the result as a generic object response. /// @@ -183,7 +184,7 @@ public partial class HttpClientHelper // } // } //} - + #endregion /// /// Triggers a GET request to the specified route and retrieves the result as an HTTP Response Message. /// diff --git a/src/HttpClientServiceHelper/HttpClientServiceHelper.csproj b/src/HttpClientServiceHelper/HttpClientServiceHelper.csproj index 079f3a3..6d14583 100644 --- a/src/HttpClientServiceHelper/HttpClientServiceHelper.csproj +++ b/src/HttpClientServiceHelper/HttpClientServiceHelper.csproj @@ -1,7 +1,7 @@ - netstandard2.1 + net10.0 Dara Oladapo Http Client Service Helper .NET HTTP Client Service library. @@ -32,7 +32,7 @@ It returns an HttpResponseMessage/String Response depending on the method called - + diff --git a/src/HttpClientServiceHelper/Patch.cs b/src/HttpClientServiceHelper/Patch.cs index a7d4dce..d942248 100644 --- a/src/HttpClientServiceHelper/Patch.cs +++ b/src/HttpClientServiceHelper/Patch.cs @@ -178,7 +178,7 @@ public static async Task PatchAndGetResponseAsStringAsync(string Route, return await httpResponse.Content.ReadAsStringAsync(); } } - + #region TODO /// /// Triggers a Patch request to the specified route and retrieves the result as an HTTP Response Message. /// @@ -366,5 +366,6 @@ public static async Task PatchAndGetResponseAsStringAsync(string Route, // } // } //} + #endregion } } diff --git a/src/HttpClientServiceHelper/Post.cs b/src/HttpClientServiceHelper/Post.cs index 8074220..e8c0593 100644 --- a/src/HttpClientServiceHelper/Post.cs +++ b/src/HttpClientServiceHelper/Post.cs @@ -178,7 +178,7 @@ public static async Task PostAndGetResponseAsStringAsync(string Route, o return await httpResponse.Content.ReadAsStringAsync(); } } - + #region TODO /// /// Triggers a Post request to the specified route and retrieves the result as an HTTP Response Message. /// @@ -366,5 +366,6 @@ public static async Task PostAndGetResponseAsStringAsync(string Route, o // } // } //} + #endregion } } diff --git a/src/HttpClientServiceHelper/Put.cs b/src/HttpClientServiceHelper/Put.cs index 585aa32..720b682 100644 --- a/src/HttpClientServiceHelper/Put.cs +++ b/src/HttpClientServiceHelper/Put.cs @@ -178,7 +178,7 @@ public static async Task PutAndGetResponseAsStringAsync(string Route, ob return await httpResponse.Content.ReadAsStringAsync(); } } - + #region TODO /// /// Triggers a PUT request to the specified route and retrieves the result as an HTTP Response Message. /// @@ -366,5 +366,6 @@ public static async Task PutAndGetResponseAsStringAsync(string Route, ob // } // } //} + #endregion } }