diff --git a/cpr-1.10.5/.clang-format b/cpr-1.10.5/.clang-format
deleted file mode 100644
index 784d9b4..0000000
--- a/cpr-1.10.5/.clang-format
+++ /dev/null
@@ -1,59 +0,0 @@
----
-Language: Cpp
-# BasedOnStyle: Google
-AccessModifierOffset: -2
-AlignAfterOpenBracket: true
-AlignEscapedNewlinesLeft: true
-AlignOperands: true
-AlignTrailingComments: true
-AllowAllParametersOfDeclarationOnNextLine: true
-AllowShortBlocksOnASingleLine: false
-AllowShortCaseLabelsOnASingleLine: false
-AllowShortIfStatementsOnASingleLine: false
-AllowShortLoopsOnASingleLine: false
-AllowShortFunctionsOnASingleLine: Empty
-AlwaysBreakAfterDefinitionReturnType: false
-AlwaysBreakTemplateDeclarations: true
-AlwaysBreakBeforeMultilineStrings: true
-BreakBeforeBinaryOperators: None
-BreakBeforeTernaryOperators: true
-BreakConstructorInitializersBeforeComma: false
-BinPackParameters: true
-BinPackArguments: true
-ColumnLimit: 500
-ConstructorInitializerAllOnOneLineOrOnePerLine: false
-ConstructorInitializerIndentWidth: 8
-DerivePointerAlignment: false
-ExperimentalAutoDetectBinPacking: false
-IndentCaseLabels: true
-IndentWrappedFunctionNames: false
-IndentFunctionDeclarationAfterType: false
-MaxEmptyLinesToKeep: 2
-KeepEmptyLinesAtTheStartOfBlocks: false
-NamespaceIndentation: None
-PenaltyBreakBeforeFirstCallParameter: 1
-PenaltyBreakComment: 300
-PenaltyBreakString: 1000
-PenaltyBreakFirstLessLess: 120
-PenaltyExcessCharacter: 1000000
-PenaltyReturnTypeOnItsOwnLine: 200
-PointerAlignment: Left
-SpacesBeforeTrailingComments: 1
-Cpp11BracedListStyle: true
-Standard: Auto
-IndentWidth: 4
-TabWidth: 8
-UseTab: Never
-BreakBeforeBraces: Attach
-SpacesInParentheses: false
-SpacesInSquareBrackets: false
-SpacesInAngles: false
-SpaceInEmptyParentheses: false
-SpacesInCStyleCastParentheses: false
-SpaceAfterCStyleCast: true
-SpacesInContainerLiterals: true
-SpaceBeforeAssignmentOperators: true
-ContinuationIndentWidth: 8
-CommentPragmas: '^ IWYU pragma:'
-SpaceBeforeParens: ControlStatements
-...
diff --git a/cpr-1.10.5/.clang-tidy b/cpr-1.10.5/.clang-tidy
deleted file mode 100644
index 7d92977..0000000
--- a/cpr-1.10.5/.clang-tidy
+++ /dev/null
@@ -1,41 +0,0 @@
----
-Checks: '*,
--cppcoreguidelines-pro-type-static-cast-downcast,
--fuchsia-default-arguments-calls,
--fuchsia-default-arguments,
--fuchsia-default-arguments-declarations,
--fuchsia-overloaded-operator,
--fuchsia-statically-constructed-objects,
--hicpp-use-auto,
--modernize-use-auto,
--modernize-use-trailing-return-type,
--readability-implicit-bool-conversion,
--readability-const-return-type,
--google-runtime-references,
--misc-non-private-member-variables-in-classes,
--llvm-include-order,
--cppcoreguidelines-non-private-member-variables-in-classes,
--cppcoreguidelines-pro-type-vararg,
--hicpp-vararg,
--cppcoreguidelines-owning-memory,
--llvmlibc-callee-namespace,
--cppcoreguidelines-pro-bounds-array-to-pointer-decay,
--hicpp-no-array-decay,
--modernize-pass-by-value,
--cppcoreguidelines-pro-bounds-constant-array-index,
--hicpp-signed-bitwise,
--llvmlibc-implementation-in-namespace,
--llvmlibc-restrict-system-libc-headers,
--readability-function-cognitive-complexity,
--readability-identifier-length,
--altera-unroll-loops,
--altera-id-dependent-backward-branch,
--bugprone-easily-swappable-parameters,
--modernize-return-braced-init-list,
--cppcoreguidelines-avoid-magic-numbers,
--readability-magic-numbers,
--cppcoreguidelines-avoid-do-while
-'
-WarningsAsErrors: '*'
-HeaderFilterRegex: 'src/*.hpp'
-FormatStyle: file
diff --git a/cpr-1.10.5/.github/ISSUE_TEMPLATE/bug-report.yml b/cpr-1.10.5/.github/ISSUE_TEMPLATE/bug-report.yml
deleted file mode 100644
index 21da3cd..0000000
--- a/cpr-1.10.5/.github/ISSUE_TEMPLATE/bug-report.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-name: "🐛 Bug report"
-description: Something in cpr is not working as expected? Create a report to help us improve.
-labels: ["Needs Investigation :mag:", "Bug :bug:"]
-body:
-- type: markdown
- attributes:
- value: |
- Provide a general summary of the issue in the Title above.
- Use Markdown to highlight and format your code!
- [https://guides.github.com/pdfs/markdown-cheatsheet-online.pdf](https://guides.github.com/pdfs/markdown-cheatsheet-online.pdf)
- [https://developers.google.com/blockly/guides/modify/contribute/write_a_good_issue](https://developers.google.com/blockly/guides/modify/contribute/write_a_good_issue)
- ⚠️⚠️ If you do not use this template, we will simply close your issue. There are no exceptions for this! These steps, especially the part at the end, are very important to solve your problem quickly and efficiently. Please remember that we are not paid to solve or even answer your issues, so we do all this work in OUR free time. ⚠️⚠️
-- type: textarea
- attributes:
- label: Description
- description: A clear and concise description of what the bug is.
- placeholder: What happened? Also tell us, what did you expect to happen?
- validations:
- required: true
-- type: textarea
- attributes:
- label: Example/How to Reproduce
- description: "Provide a link to a live example, or an unambiguous set of steps to reproduce this bug. Include code to reproduce, if relevant."
- value: |
- 1. Create a `cpr::Session`
- 2. Set option ...
- 3. Perform the request
- 4. See error
- validations:
- required: true
-- type: textarea
- attributes:
- label: Possible Fix
- description: A possible fix for your issue.
- placeholder: Not obligatory, but suggest a fix or reason for the bug.
- validations:
- required: false
-- type: dropdown
- attributes:
- label: Where did you get it from?
- multiple: true
- options:
- - GitHub (branch e.g. master)
- - vcpkg
- - conan
- - NuGet
- - Other (specify in "Additional Context/Your Environment")
- validations:
- required: true
-- type: textarea
- attributes:
- label: Additional Context/Your Environment
- description: Provide some additional context for your issue and your environment your are trying to use cpr in.
- value: |
- - OS:
- - Version:
- validations:
- required: true
diff --git a/cpr-1.10.5/.github/ISSUE_TEMPLATE/feature-request.yml b/cpr-1.10.5/.github/ISSUE_TEMPLATE/feature-request.yml
deleted file mode 100644
index 7483c54..0000000
--- a/cpr-1.10.5/.github/ISSUE_TEMPLATE/feature-request.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-name: "✨ Feature request"
-description: Suggest an idea for this project.
-labels: ["Needs Investigation :mag:", "Feature :sparkles:"]
-body:
-- type: markdown
- attributes:
- value: |
- Provide a general summary of the feature in the Title above.
- Use Markdown to highlight and format your code!
- [https://guides.github.com/pdfs/markdown-cheatsheet-online.pdf](https://guides.github.com/pdfs/markdown-cheatsheet-online.pdf)
- [https://developers.google.com/blockly/guides/modify/contribute/write_a_good_issue](https://developers.google.com/blockly/guides/modify/contribute/write_a_good_issue)
- ⚠️⚠️ If you do not use this template, we will simply close your feature request. There are no exceptions for this! These steps are very important to solve your problem quickly and efficiently. Please remember that we are not paid to solve or even answer your feature requests, so we do all this work in OUR free time. ⚠️⚠️
-- type: markdown
- attributes:
- value: |
- Thanks for suggesting new features or pointing our missing functionality.
- Please describe your request in detail so we can understand your ideas. Feel free to upload additional material such as mockups, diagrams, or sketches.
-- type: textarea
- attributes:
- label: Is your feature request related to a problem?
- description: Please describe. A clear and concise description of what the problem is.
- placeholder: Ex. I'm always frustrated when ...
-- type: textarea
- attributes:
- label: Possible Solution
- description: Describe the solution you'd like.
- validations:
- required: true
-- type: textarea
- attributes:
- label: Alternatives
- description: A clear and concise description of any alternative solutions or features you've considered.
-- type: textarea
- attributes:
- label: Additional Context
- description: Add any other context or screenshots about the feature request here.
diff --git a/cpr-1.10.5/.github/dependabot.yml b/cpr-1.10.5/.github/dependabot.yml
deleted file mode 100644
index 1230149..0000000
--- a/cpr-1.10.5/.github/dependabot.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: "github-actions"
- directory: "/"
- schedule:
- interval: "daily"
diff --git a/cpr-1.10.5/.github/workflows/build-deb.yml b/cpr-1.10.5/.github/workflows/build-deb.yml
deleted file mode 100644
index 269b4a6..0000000
--- a/cpr-1.10.5/.github/workflows/build-deb.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-name: Build Debian Package
-on:
- push:
- tags: [ '[0-9]+.[0-9]+.[0-9]+' ]
- pull_request:
-
-jobs:
- package-ubuntu-latest-amd64:
- runs-on: ubuntu-latest
- steps:
- - name: "Checkout"
- uses: actions/checkout@v3
- with:
- submodules: true
- path: cpr
-
- # Install packages necessary for building libcpr and package
- - name: "Update package list"
- run: sudo apt update
- - name: "Install cpr dependencies"
- run: sudo apt install -y libssl-dev libcurl4-openssl-dev
- - name: "Install building tools"
- run: sudo apt install -y cmake debmake devscripts debhelper
-
- # Build package of runtime library
- - name: "Package build of runtime library"
- env:
- VERSION: ${{ github.ref_name }}
- run: bash cpr/package-build/build-package.sh cpr
-
- - name: "Upload deb-packages"
- uses: actions/upload-artifact@v3
- with:
- name: artifact-deb
- path: ./*.deb
-
diff --git a/cpr-1.10.5/.github/workflows/build-nuget.yml b/cpr-1.10.5/.github/workflows/build-nuget.yml
deleted file mode 100644
index c7cf4ca..0000000
--- a/cpr-1.10.5/.github/workflows/build-nuget.yml
+++ /dev/null
@@ -1,115 +0,0 @@
-name: Build NuGet Package
-on:
- push:
- tags: [ '[0-9]+.[0-9]+.[0-9]+' ]
- workflow_dispatch:
- inputs:
- version:
- description: 'The optional semantic version number. If not supplied the branch/tag will be used.'
- type: string
- no_publish:
- description: 'Prevent publishing the NuGet package. Just build it and then upload it as an artifact.'
- type: boolean
- default: false
-
-jobs:
- package-windows-latest:
- runs-on: windows-latest
- steps:
- - name: Set version based on input
- if: ${{ inputs.version }}
- run: echo "RELEASE_VERSION=${{ inputs.version }}" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
- - name: Set version based on ref
- if: ${{ !inputs.version }}
- run: echo "RELEASE_VERSION=$($env:GITHUB_REF -replace 'refs/.*/', '')" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
- - name: Print Version
- run: echo "NuGet version will be '${{ env.RELEASE_VERSION }}'"
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Setup NuGet.exe
- uses: nuget/setup-nuget@v1
- - name: "[Release_x86] Build & Install"
- env:
- CMAKE_GENERATOR: "Visual Studio 17 2022"
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- target: ALL_BUILD
- run-test: false
- configure-options: -DBUILD_SHARED_LIBS=ON -DCURL_ZLIB=OFF -A Win32
- install-build: true
- install-options: --prefix ${{github.workspace}}\install --config Release
- - name: "[Release_x86] Copy install files for Release_x86"
- run: xcopy /e /i /y ${{github.workspace}}\install ${{github.workspace}}\nuget\build\native\x86\Release && xcopy /e /i /y ${{github.workspace}}\install ${{github.workspace}}\nuget\build\native\Win32\Release
- - name: "[Release_x86] Clean build"
- run: rm -r -fo ${{github.workspace}}/build
- - name: "[Debug_x86] Build & Install"
- env:
- CMAKE_GENERATOR: "Visual Studio 17 2022"
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Debug
- target: ALL_BUILD
- run-test: false
- configure-options: -DBUILD_SHARED_LIBS=ON -DCURL_ZLIB=OFF -A Win32
- install-build: true
- install-options: --prefix ${{github.workspace}}\install --config Debug
- - name: "[Debug_x86] Copy install files for Debug_x86"
- run: xcopy /e /i /y ${{github.workspace}}\install ${{github.workspace}}\nuget\build\native\x86\Debug && xcopy /e /i /y ${{github.workspace}}\install ${{github.workspace}}\nuget\build\native\Win32\Debug
- - name: "[Debug_x86] Clean build"
- run: rm -r -fo ${{github.workspace}}/build
- - name: "[Release_x64] Build & Install"
- env:
- CMAKE_GENERATOR: "Visual Studio 17 2022"
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- target: ALL_BUILD
- run-test: false
- configure-options: -DBUILD_SHARED_LIBS=ON -DCURL_ZLIB=OFF -A x64
- install-build: true
- install-options: --prefix ${{github.workspace}}\install --config Release
- - name: "[Release_x64] Copy install files for Release_x64"
- run: xcopy /e /i /y ${{github.workspace}}\install ${{github.workspace}}\nuget\build\native\x64\Release
- - name: "[Release_x64] Clean build"
- run: rm -r -fo ${{github.workspace}}/build
- - name: "[Debug_x64] Build & Install"
- env:
- CMAKE_GENERATOR: "Visual Studio 17 2022"
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Debug
- target: ALL_BUILD
- run-test: false
- configure-options: -DBUILD_SHARED_LIBS=ON -DCURL_ZLIB=OFF -A x64
- install-build: true
- install-options: --prefix ${{github.workspace}}\install --config Debug
- - name: "[Debug_x64] Copy install files for Debug_x64"
- run: xcopy /e /i /y ${{github.workspace}}\install ${{github.workspace}}\nuget\build\native\x64\Debug
- - name: "Copy Readme.md"
- run: xcopy /y ${{github.workspace}}\README.md ${{github.workspace}}\nuget
- - name: "Create NuGet package"
- env:
- VERSION: ${{ env.RELEASE_VERSION }}
- COMMIT_HASH: ${{ github.sha }}
- run: nuget pack ${{github.workspace}}\nuget\libcpr.nuspec -OutputDirectory ${{github.workspace}} -Properties "VERSION=$ENV:VERSION;COMMIT_HASH=$ENV:COMMIT_HASH"
- - name: "Upload artifact"
- uses: actions/upload-artifact@v3
- with:
- name: artifact-nuget
- path: ${{github.workspace}}\*.nupkg
- - name: "Publish package to NuGet.org"
- if: ${{ !inputs.no_publish }}
- env:
- NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
- run: nuget push ${{github.workspace}}\*.nupkg $ENV:NUGET_API_KEY -Source https://api.nuget.org/v3/index.json
diff --git a/cpr-1.10.5/.github/workflows/ci.yml b/cpr-1.10.5/.github/workflows/ci.yml
deleted file mode 100644
index 545a14b..0000000
--- a/cpr-1.10.5/.github/workflows/ci.yml
+++ /dev/null
@@ -1,633 +0,0 @@
-name: CI
-on:
- push:
- branches: [ master ]
- pull_request:
- branches: [ master ]
-
-jobs:
- ubuntu-22-04-static-gcc-ssl:
- runs-on: ubuntu-latest
- container: ubuntu:22.04
- steps:
- - name: Update package list
- run: apt update
- - name: Install git
- run: apt install -y git
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Install libssl-dev
- run: apt install -y libssl-dev
- - name: Install cmake
- run: apt install -y cmake
- - name: Install build-essential
- run: apt install -y build-essential
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: gcc
- cxx: g++
- build-type: Release
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
- ubuntu-22-04-clang-static-ssl:
- runs-on: ubuntu-latest
- container: ubuntu:22.04
- steps:
- - name: Update package list
- run: apt update
- - name: Install git
- run: apt install -y git
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Install libssl-dev
- run: apt install -y libssl-dev
- - name: Install cmake
- run: apt install -y cmake
- - name: Install build-essential
- run: apt install -y build-essential
- - name: Install clang
- run: apt install -y clang
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: clang
- cxx: clang++
- build-type: Release
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
- ubuntu-20-shared-gcc-ssl:
- runs-on: ubuntu-20.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libssl-dev
- run: sudo apt install libssl-dev
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: gcc
- cxx: g++
- build-type: Release
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=ON
-
- ubuntu-20-static-gcc-mbedtls:
- runs-on: ubuntu-20.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libmbedtls-dev
- run: sudo apt install libmbedtls-dev
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- CPR_BUILD_TESTS_SSL: OFF
- CPR_FORCE_MBEDTLS_BACKEND: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: gcc
- cxx: g++
- build-type: Release
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
- ubuntu-20-shared-gcc-mbedtls:
- runs-on: ubuntu-20.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libmbedtls-dev
- run: sudo apt install libmbedtls-dev
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- CPR_BUILD_TESTS_SSL: OFF
- CPR_FORCE_MBEDTLS_BACKEND: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: gcc
- cxx: g++
- build-type: Release
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=ON
-
- ubuntu-20-static-gcc-ssl:
- runs-on: ubuntu-20.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libssl-dev
- run: sudo apt install libssl-dev
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: gcc
- cxx: g++
- build-type: Release
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
- ubuntu-18-gcc-shared-ssl:
- runs-on: ubuntu-18.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libssl-dev
- run: sudo apt install libssl-dev
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: gcc
- cxx: g++
- build-type: Release
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=ON
-
- ubuntu-18-gcc-static-ssl:
- runs-on: ubuntu-18.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libssl-dev
- run: sudo apt install libssl-dev
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: gcc
- cxx: g++
- build-type: Release
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
- ubuntu-18-gcc-shared-ssl-system-curl:
- runs-on: ubuntu-18.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libssl-dev
- run: sudo apt install libcurl4-openssl-dev
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- configure-options: -DUSE_SYSTEM_CURL=ON -DBUILD_SHARED_LIBS=ON
- cc: gcc
- cxx: g++
- build-type: Release
- run-test: true
- ctest-options: -V
-
- ubuntu-18-gcc-static-ssl-system-curl:
- runs-on: ubuntu-18.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libssl-dev
- run: sudo apt install libcurl4-openssl-dev
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- configure-options: -DUSE_SYSTEM_CURL=ON -DBUILD_SHARED_LIBS=OFF
- cc: gcc
- cxx: g++
- build-type: Release
- run-test: true
- ctest-options: -V
-
- ubuntu-18-gcc-ssl-address-leak-undefined-behavior-sanitizer:
- runs-on: ubuntu-18.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libssl-dev
- run: sudo apt install libssl-dev
- - name: Install sanitizer
- run: sudo apt install libasan5 libubsan1 liblsan0 libtsan0
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- CPR_DEBUG_SANITIZER_FLAG_ALL: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: gcc
- cxx: g++
- build-type: Debug
- run-test: true
- ctest-options: -V
-
- ubuntu-18-gcc-ssl-thread-sanitizer:
- runs-on: ubuntu-18.04
- if: ${{ false }} # Disabled for now until all problems are resolved
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libssl-dev
- run: sudo apt install libssl-dev
- - name: Install sanitizer
- run: sudo apt install libasan5 libubsan1 liblsan0 libtsan0
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- CPR_DEBUG_SANITIZER_FLAG_THREAD: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: gcc
- cxx: g++
- build-type: Debug
- run-test: true
- ctest-options: -V
-
- ubuntu-18-clang-shared-ssl:
- runs-on: ubuntu-18.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libssl-dev
- run: sudo apt install libssl-dev
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: clang
- cxx: clang++
- build-type: Release
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=ON
-
- ubuntu-18-clang-static-ssl:
- runs-on: ubuntu-18.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install libssl-dev
- run: sudo apt install libssl-dev
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: clang
- cxx: clang++
- build-type: Release
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
- windows-msvc-shared-ssl:
- runs-on: windows-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: "[Release msvc] Build & Test"
- env:
- CMAKE_GENERATOR: "Visual Studio 17 2022"
- CPR_BUILD_TESTS: ON
- CPR_BUILD_TESTS_SSL: OFF
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- target: ALL_BUILD
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=ON
-
- windows-msvc-shared-winssl:
- runs-on: windows-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: "[Release msvc] Build & Test"
- env:
- CMAKE_GENERATOR: "Visual Studio 17 2022"
- CPR_BUILD_TESTS: ON
- CPR_BUILD_TESTS_SSL: OFF
- CPR_FORCE_WINSSL_BACKEND: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- target: ALL_BUILD
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=ON
-
- windows-msvc-static-ssl:
- runs-on: windows-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: "[Release msvc] Build & Test"
- env:
- CMAKE_GENERATOR: "Visual Studio 17 2022"
- CPR_BUILD_TESTS: ON
- CPR_BUILD_TESTS_SSL: OFF
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- target: ALL_BUILD
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
- windows-msvc-shared-openssl:
- runs-on: windows-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Install OpenSSL
- run: choco install openssl -y
- - name: "[Release msvc] Build & Test"
- env:
- CMAKE_GENERATOR: "Visual Studio 17 2022"
- CPR_BUILD_TESTS: ON
- CPR_FORCE_OPENSSL_BACKEND: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- target: ALL_BUILD
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=ON
-
- windows-msvc-static-openssl:
- runs-on: windows-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Install OpenSSL
- run: choco install openssl -y
- - name: "[Release msvc] Build & Test"
- env:
- CMAKE_GENERATOR: "Visual Studio 17 2022"
- CPR_BUILD_TESTS: ON
- CPR_FORCE_OPENSSL_BACKEND: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- target: ALL_BUILD
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
- macos-clang-shared-openssl:
- runs-on: macos-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Install OpenSSL
- run: |
- brew install openssl
- echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> /Users/runner/.bash_profile
- source ~/.bash_profile
- export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
- export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
- export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
- - name: "[Release clang++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- CPR_BUILD_TESTS_SSL: ON
- OPENSSL_ROOT_DIR: "/usr/local/opt/openssl@3"
- OPENSSL_LIBRARIES: "/usr/local/opt/openssl@3/lib"
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- cc: clang
- cxx: clang++
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=ON
-
- macos-clang-static-openssl:
- runs-on: macos-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Install OpenSSL
- run: |
- brew install openssl
- echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> /Users/runner/.bash_profile
- source ~/.bash_profile
- export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
- export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
- export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
- - name: "[Release clang++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- CPR_BUILD_TESTS_SSL: OFF
- OPENSSL_ROOT_DIR: "/usr/local/opt/openssl@3"
- OPENSSL_LIBRARIES: "/usr/local/opt/openssl@3/lib"
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- cc: clang
- cxx: clang++
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
- macos-clang-static-autossl:
- runs-on: macos-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: "[Release clang++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- CPR_BUILD_TESTS_SSL: OFF
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- cc: clang
- cxx: clang++
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
- macos-clang-static-darwinssl:
- runs-on: macos-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: "[Release clang++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- CPR_BUILD_TESTS_SSL: OFF
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- cc: clang
- cxx: clang++
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF -DCPR_FORCE_DARWINSSL_BACKEND=ON
-
- macos-clang-static-autossl-boost:
- runs-on: macos-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Install Boost
- run: |
- brew install boost
- - name: "[Release clang++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- CPR_BUILD_TESTS_SSL: OFF
- CPR_USE_BOOST_FILESYSTEM: ON
- CMAKE_OSX_DEPLOYMENT_TARGET: 10.13
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- build-type: Release
- cc: clang
- cxx: clang++
- run-test: true
- ctest-options: -V
- configure-options: -DBUILD_SHARED_LIBS=OFF
-
diff --git a/cpr-1.10.5/.github/workflows/clang-format.yml b/cpr-1.10.5/.github/workflows/clang-format.yml
deleted file mode 100644
index 2f194b8..0000000
--- a/cpr-1.10.5/.github/workflows/clang-format.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-name: "Test Clang Format"
-
-on: [push, pull_request]
-
-jobs:
- clang-format:
- runs-on: ubuntu-latest
- container: fedora:latest
- steps:
- - name: Update package list
- run: sudo dnf update -y
- - name: Install dependencies
- run: sudo dnf install -y openssl-devel cmake git gcc clang ninja-build
- - name: Install clang-tidy
- run: sudo dnf install -y clang-tools-extra
- - name: Checkout
- uses: actions/checkout@v3
- - name: Check format
- uses: RafikFarhad/clang-format-github-action@v3.0.0
\ No newline at end of file
diff --git a/cpr-1.10.5/.github/workflows/clang-tidy.yml b/cpr-1.10.5/.github/workflows/clang-tidy.yml
deleted file mode 100644
index 145fec8..0000000
--- a/cpr-1.10.5/.github/workflows/clang-tidy.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-name: "Test Clang Tidy"
-
-on: [push, pull_request]
-
-jobs:
- clang-tidy:
- runs-on: ubuntu-latest
- container: fedora:latest
- steps:
- - name: Update package list
- run: sudo dnf update -y
- - name: Install dependencies
- run: sudo dnf install -y openssl-devel cmake git gcc clang ninja-build
- - name: Install clang-tidy
- run: sudo dnf install -y clang-tools-extra
- - name: Checkout
- uses: actions/checkout@v3
- - name: "[Release g++] Build & Test"
- env:
- CPR_BUILD_TESTS: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: clang
- cxx: clang++
- build-type: Release
- run-test: false
- configure-options: -DCPR_ENABLE_LINTING=ON
\ No newline at end of file
diff --git a/cpr-1.10.5/.github/workflows/codeql-analysis.yml b/cpr-1.10.5/.github/workflows/codeql-analysis.yml
deleted file mode 100644
index 0ecf2fe..0000000
--- a/cpr-1.10.5/.github/workflows/codeql-analysis.yml
+++ /dev/null
@@ -1,71 +0,0 @@
-# For most projects, this workflow file will not need changing; you simply need
-# to commit it to your repository.
-#
-# You may wish to alter this file to override the set of languages analyzed,
-# or to provide custom queries or build logic.
-#
-# ******** NOTE ********
-# We have attempted to detect the languages in your repository. Please check
-# the `language` matrix defined below to confirm you have the correct set of
-# supported CodeQL languages.
-#
-name: "CodeQL"
-
-on:
- push:
- branches: [ master ]
- pull_request:
- # The branches below must be a subset of the branches above
- branches: [ master ]
- schedule:
- - cron: '25 20 * * 3'
-
-jobs:
- analyze:
- name: Analyze
- runs-on: ubuntu-latest
- permissions:
- actions: read
- contents: read
- security-events: write
-
- strategy:
- fail-fast: false
- matrix:
- language: [ 'cpp' ]
- # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
- # Learn more:
- # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v3
-
- # Initializes the CodeQL tools for scanning.
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v2
- with:
- languages: ${{ matrix.language }}
- # If you wish to specify custom queries, you can do so here or in a config file.
- # By default, queries listed here will override any specified in a config file.
- # Prefix the list here with "+" to use these queries and those in the config file.
- # queries: ./path/to/local/query, your-org/your-repo/queries@main
-
- # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
- # If this step fails, then you should remove it and run the build manually (see below)
- - name: Autobuild
- uses: github/codeql-action/autobuild@v2
-
- # ℹ️ Command-line programs to run using the OS shell.
- # 📚 https://git.io/JvXDl
-
- # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
- # and modify them (or add more) to build your code if your project
- # uses a compiled language
-
- #- run: |
- # make bootstrap
- # make release
-
- - name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v2
diff --git a/cpr-1.10.5/.github/workflows/cppcheck.yml b/cpr-1.10.5/.github/workflows/cppcheck.yml
deleted file mode 100644
index 5834f37..0000000
--- a/cpr-1.10.5/.github/workflows/cppcheck.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-name: "Test cppcheck"
-
-on: [push, pull_request]
-
-jobs:
- cppcheck:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: true
- - name: Update package list
- run: sudo apt update
- - name: Install cppcheck
- run: sudo apt install cppcheck
- - name: "[Release g++] Build"
- env:
- CPR_ENABLE_CPPCHECK: ON
- uses: ashutoshvarma/action-cmake-build@master
- with:
- build-dir: ${{github.workspace}}/build
- source-dir: ${{github.workspace}}
- cc: gcc
- cxx: g++
- build-type: Release
- run-test: false
\ No newline at end of file
diff --git a/cpr-1.10.5/.gitignore b/cpr-1.10.5/.gitignore
deleted file mode 100644
index 5dd5111..0000000
--- a/cpr-1.10.5/.gitignore
+++ /dev/null
@@ -1,61 +0,0 @@
-# Compiled Object files
-*.slo
-*.lo
-*.o
-*.obj
-
-# Precompiled Headers
-*.gch
-*.pch
-
-# Compiled Dynamic libraries
-*.so
-*.dylib
-*.dll
-
-# Fortran module files
-*.mod
-
-# Compiled Static libraries
-*.lai
-*.la
-*.a
-*.lib
-
-# Executables
-*.exe
-*.out
-*.app
-
-# CMake
-CMakeCache.txt
-CMakeFiles
-Makefile
-cmake_install.cmake
-install_manifest.txt
-
-# Custom
-build/
-!nuget/build
-
-# Jekyll stuff
-_includes/
-_site/
-
-# Vim
-.ycm_extra_conf.py*
-*.swp
-
-# VSCode
-.vscode/
-.vs/
-
-# clangd
-.cache/
-
-# compilation database
-# used in various editor configurations, such as vim & YcM
-compile_commands.json
-
-# macOS
-.DS_Store
diff --git a/cpr-1.10.5/CMakeLists.txt b/cpr-1.10.5/CMakeLists.txt
deleted file mode 100644
index 5b3fd49..0000000
--- a/cpr-1.10.5/CMakeLists.txt
+++ /dev/null
@@ -1,373 +0,0 @@
-cmake_minimum_required(VERSION 3.15)
-project(cpr VERSION 1.10.5 LANGUAGES CXX)
-
-math(EXPR cpr_VERSION_NUM "${cpr_VERSION_MAJOR} * 0x10000 + ${cpr_VERSION_MINOR} * 0x100 + ${cpr_VERSION_PATCH}" OUTPUT_FORMAT HEXADECIMAL)
-configure_file("${cpr_SOURCE_DIR}/cmake/cprver.h.in" "${cpr_BINARY_DIR}/cpr_generated_includes/cpr/cprver.h")
-
-# Only change the folder behaviour if cpr is not a subproject
-if(${CMAKE_PROJECT_NAME} STREQUAL ${PROJECT_NAME})
- set_property(GLOBAL PROPERTY USE_FOLDERS ON)
- set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMake")
- set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
- set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
-else()
- # Check required c++ standard of parent project
- if(CMAKE_CXX_STANDARD)
- set(PARENT_CXX_STANDARD ${CMAKE_CXX_STANDARD})
- message(STATUS "CXX standard of parent project: ${PARENT_CXX_STANDARD}")
- endif()
-endif()
-
-# Avoid the dll boilerplate code for windows
-set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
-
-if (PARENT_CXX_STANDARD)
- # Don't set CMAKE_CXX_STANDARD if it is already set by parent project
- if (PARENT_CXX_STANDARD LESS 17)
- message(FATAL_ERROR "cpr ${cpr_VERSION} does not support ${PARENT_CXX_STANDARD}. Please use cpr <= 1.9.x")
- endif()
-else()
- # Set standard version if not already set by potential parent project
- set(CMAKE_CXX_STANDARD 17)
-endif()
-
-message(STATUS "CXX standard: ${CMAKE_CXX_STANDARD}")
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-
-set(CPR_LIBRARIES cpr CACHE INTERNAL "")
-
-macro(cpr_option OPTION_NAME OPTION_TEXT OPTION_DEFAULT)
- option(${OPTION_NAME} ${OPTION_TEXT} ${OPTION_DEFAULT})
- if(DEFINED ENV{${OPTION_NAME}})
- # Allow overriding the option through an environment variable
- set(${OPTION_NAME} $ENV{${OPTION_NAME}})
- endif()
- if(${OPTION_NAME})
- add_definitions(-D${OPTION_NAME})
- endif()
- message(STATUS " ${OPTION_NAME}: ${${OPTION_NAME}}")
-endmacro()
-
-option(BUILD_SHARED_LIBS "Build libraries as shared libraries" ON)
-message(STATUS "C++ Requests CMake Options")
-message(STATUS "=======================================================")
-cpr_option(CPR_GENERATE_COVERAGE "Set to ON to generate coverage reports." OFF)
-cpr_option(CPR_CURL_NOSIGNAL "Set to ON to disable use of signals in libcurl." OFF)
-cpr_option(CURL_VERBOSE_LOGGING "Curl verbose logging during building curl" OFF)
-cpr_option(CPR_USE_SYSTEM_GTEST "If ON, this project will look in the system paths for an installed gtest library. If none is found it will use the built-in one." OFF)
-cpr_option(CPR_USE_SYSTEM_CURL "If enabled we will use the curl lib already installed on this system." OFF)
-cpr_option(CPR_ENABLE_CURL_HTTP_ONLY "If enabled we will only use the HTTP/HTTPS protocols from CURL. If disabled, all the CURL protocols are enabled. This is useful if your project uses libcurl and you need support for other CURL features e.g. sending emails." ON)
-cpr_option(CPR_ENABLE_SSL "Enables or disables the SSL backend. Required to perform HTTPS requests." ON)
-cpr_option(CPR_FORCE_OPENSSL_BACKEND "Force to use the OpenSSL backend. If CPR_FORCE_OPENSSL_BACKEND, CPR_FORCE_DARWINSSL_BACKEND, CPR_FORCE_MBEDTLS_BACKEND, and CPR_FORCE_WINSSL_BACKEND are set to to OFF, cpr will try to automatically detect the best available SSL backend (WinSSL - Windows, OpenSSL - Linux, DarwinSSL - Mac ...)." OFF)
-cpr_option(CPR_FORCE_WINSSL_BACKEND "Force to use the WinSSL backend. If CPR_FORCE_OPENSSL_BACKEND, CPR_FORCE_DARWINSSL_BACKEND, CPR_FORCE_MBEDTLS_BACKEND, and CPR_FORCE_WINSSL_BACKEND are set to to OFF, cpr will try to automatically detect the best available SSL backend (WinSSL - Windows, OpenSSL - Linux, DarwinSSL - Mac ...)." OFF)
-cpr_option(CPR_FORCE_DARWINSSL_BACKEND "Force to use the DarwinSSL backend. If CPR_FORCE_OPENSSL_BACKEND, CPR_FORCE_DARWINSSL_BACKEND, CPR_FORCE_MBEDTLS_BACKEND, and CPR_FORCE_WINSSL_BACKEND are set to to OFF, cpr will try to automatically detect the best available SSL backend (WinSSL - Windows, OpenSSL - Linux, DarwinSSL - Mac ...)." OFF)
-cpr_option(CPR_FORCE_MBEDTLS_BACKEND "Force to use the Mbed TLS backend. If CPR_FORCE_OPENSSL_BACKEND, CPR_FORCE_DARWINSSL_BACKEND, CPR_FORCE_MBEDTLS_BACKEND, and CPR_FORCE_WINSSL_BACKEND are set to to OFF, cpr will try to automatically detect the best available SSL backend (WinSSL - Windows, OpenSSL - Linux, DarwinSSL - Mac ...)." OFF)
-cpr_option(CPR_ENABLE_LINTING "Set to ON to enable clang linting." OFF)
-cpr_option(CPR_ENABLE_CPPCHECK "Set to ON to enable Cppcheck static analysis. Requires CPR_BUILD_TESTS and CPR_BUILD_TESTS_SSL to be OFF to prevent checking google tests source code." OFF)
-cpr_option(CPR_BUILD_TESTS "Set to ON to build cpr tests." OFF)
-cpr_option(CPR_BUILD_TESTS_SSL "Set to ON to build cpr ssl tests" ${CPR_BUILD_TESTS})
-cpr_option(CPR_BUILD_TESTS_PROXY "Set to ON to build proxy tests. They fail in case there is no valid proxy server available in proxy_tests.cpp" OFF)
-cpr_option(CPR_SKIP_CA_BUNDLE_SEARCH "Skip searching for Certificate Authority certs. Turn ON for systems like iOS where file access is restricted and prevents https from working." OFF)
-cpr_option(CPR_USE_BOOST_FILESYSTEM "Set to ON to use the Boost.Filesystem library. This is useful, on, e.g., Apple platforms, where std::filesystem may not always be available when targeting older OS versions." OFF)
-cpr_option(CPR_DEBUG_SANITIZER_FLAG_THREAD "Enables the ThreadSanitizer for debug builds." OFF)
-cpr_option(CPR_DEBUG_SANITIZER_FLAG_ADDR "Enables the AddressSanitizer for debug builds." OFF)
-cpr_option(CPR_DEBUG_SANITIZER_FLAG_LEAK "Enables the LeakSanitizer for debug builds." OFF)
-cpr_option(CPR_DEBUG_SANITIZER_FLAG_UB "Enables the UndefinedBehaviorSanitizer for debug builds." OFF)
-cpr_option(CPR_DEBUG_SANITIZER_FLAG_ALL "Enables all sanitizers for debug builds except the ThreadSanitizer since it is incompatible with the other sanitizers." OFF)
-message(STATUS "=======================================================")
-
-if (CPR_FORCE_USE_SYSTEM_CURL)
- message(WARNING "The variable CPR_FORCE_USE_SYSTEM_CURL is deprecated, please use CPR_USE_SYSTEM_CURL instead")
- set(CPR_USE_SYSTEM_CURL ${CPR_FORCE_USE_SYSTEM_CURL})
-endif()
-
-include(GNUInstallDirs)
-include(FetchContent)
-include(cmake/code_coverage.cmake)
-include(cmake/sanitizer.cmake)
-include(cmake/clear_variable.cmake)
-
-# So CMake can find FindMbedTLS.cmake
-set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}")
-
-# Linting
-if(CPR_ENABLE_LINTING)
- include(cmake/clang-tidy.cmake)
-endif()
-
-# Cppcheck
-if(CPR_ENABLE_CPPCHECK)
- if(CPR_BUILD_TESTS OR CPR_BUILD_TESTS_SSL)
- message(FATAL_ERROR "Cppcheck is incompatible with building tests. Make sure to disable CPR_ENABLE_CPPCHECK or disable tests by setting CPR_BUILD_TESTS and CPR_BUILD_TESTS_SSL to OFF. This is because Cppcheck would try to check the google tests source code and then fail. ")
- endif()
- include(cmake/cppcheck.cmake)
-endif()
-
-if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
-else()
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Werror")
-endif()
-
-# SSL
-if(CPR_ENABLE_SSL)
- if(CPR_FORCE_OPENSSL_BACKEND OR CPR_FORCE_WINSSL_BACKEND OR CPR_FORCE_DARWINSSL_BACKEND OR CPR_FORCE_MBEDTLS_BACKEND)
- message(STATUS "Disabled SSL backend auto detect since either CPR_FORCE_OPENSSL_BACKEND, CPR_FORCE_DARWINSSL_BACKEND, CPR_FORCE_MBEDTLS_BACKEND, or CPR_FORCE_WINSSL_BACKEND is enabled.")
- set(DETECT_SSL_BACKEND OFF CACHE INTERNAL "" FORCE)
- else()
- message(STATUS "Automatically detecting SSL backend.")
- set(DETECT_SSL_BACKEND ON CACHE INTERNAL "" FORCE)
- endif()
-
- if(CPR_FORCE_WINSSL_BACKEND AND (NOT WIN32))
- message(FATAL_ERROR "WinSSL is only available on Windows! Use either OpenSSL (CPR_FORCE_OPENSSL_BACKEND) or DarwinSSL (CPR_FORCE_DARWINSSL_BACKEND) instead.")
- endif()
-
- if(DETECT_SSL_BACKEND)
- message(STATUS "Detecting SSL backend...")
- if(WIN32)
- message(STATUS "SSL auto detect: Using WinSSL.")
- set(SSL_BACKEND_USED "WinSSL")
- elseif(APPLE)
- message(STATUS "SSL auto detect: Using DarwinSSL.")
- set(CPR_BUILD_TESTS_SSL OFF)
- set(SSL_BACKEND_USED "DarwinSSL")
- else()
- find_package(OpenSSL)
- if(OPENSSL_FOUND)
- message(STATUS "SSL auto detect: Using OpenSSL.")
- set(SSL_BACKEND_USED "OpenSSL")
- else()
- find_package(MbedTLS)
- if(MBEDTLS_FOUND)
- set(SSL_BACKEND_USED "MbedTLS")
- else()
- message(FATAL_ERROR "No valid SSL backend found! Please install OpenSSL, Mbed TLS or disable SSL by setting CPR_ENABLE_SSL to OFF.")
- endif()
- endif()
- endif()
- else()
- if(CPR_FORCE_OPENSSL_BACKEND)
- find_package(OpenSSL)
- if(OPENSSL_FOUND)
- message(STATUS "Using OpenSSL.")
- set(SSL_BACKEND_USED "OpenSSL")
- else()
- message(FATAL_ERROR "CPR_FORCE_OPENSSL_BACKEND enabled but we were not able to find OpenSSL!")
- endif()
- elseif(CPR_FORCE_WINSSL_BACKEND)
- message(STATUS "Using WinSSL.")
- set(SSL_BACKEND_USED "WinSSL")
- elseif(CPR_FORCE_DARWINSSL_BACKEND)
- message(STATUS "Using DarwinSSL.")
- set(CPR_BUILD_TESTS_SSL OFF)
- set(SSL_BACKEND_USED "DarwinSSL")
- elseif(CPR_FORCE_MBEDTLS_BACKEND)
- message(STATUS "Using Mbed TLS.")
- set(CPR_BUILD_TESTS_SSL OFF)
- set(SSL_BACKEND_USED "MbedTLS")
- endif()
- endif()
-endif()
-
-if(SSL_BACKEND_USED STREQUAL "OpenSSL")
-# Fix missing OpenSSL includes for Windows since in 'ssl_ctx.cpp' we include OpenSSL directly
-find_package(OpenSSL REQUIRED)
- add_compile_definitions(OPENSSL_BACKEND_USED)
-endif()
-
-# Curl configuration
-if(CPR_USE_SYSTEM_CURL)
- if(CPR_ENABLE_SSL)
- find_package(CURL COMPONENTS HTTP HTTPS)
- if(CURL_FOUND)
- message(STATUS "Curl ${CURL_VERSION_STRING} found on this system.")
- # To be able to load certificates under Windows when using OpenSSL:
- if(CMAKE_USE_OPENSSL AND WIN32 AND (NOT (CURL_VERSION_STRING VERSION_GREATER_EQUAL "7.71.0")))
- message(FATAL_ERROR "Your system curl version (${CURL_VERSION_STRING}) is too old to support OpenSSL on Windows which requires curl >= 7.71.0. Update your curl version, use WinSSL, disable SSL or use the built-in version of curl.")
- endif()
- else()
- find_package(CURL COMPONENTS HTTP)
- if(CURL_FOUND)
- message(FATAL_ERROR "Curl found on this system but WITHOUT HTTPS/SSL support. Either disable SSL by setting CPR_ENABLE_SSL to OFF or use the built-in version of curl by setting CPR_USE_SYSTEM_CURL to OFF.")
- else()
- message(FATAL_ERROR "Curl not found on this system. To use the built-in version set CPR_USE_SYSTEM_CURL to OFF.")
- endif()
- endif()
- else()
- find_package(CURL COMPONENTS HTTP)
- if(CURL_FOUND)
- message(STATUS "Curl found on this system.")
- else()
- message(FATAL_ERROR "Curl not found on this system. To use the built-in version set CPR_USE_SYSTEM_CURL to OFF.")
- endif()
- endif()
-else()
- message(STATUS "Configuring built-in curl...")
-
- # ZLIB is optional for curl
- # to disable it:
- # * from command line:
- # -DCURL_ZLIB=OFF
- # * from CMake script:
- # SET(CURL_ZLIB OFF CACHE STRING "" FORCE)
- if (CURL_ZLIB OR CURL_ZLIB STREQUAL AUTO OR NOT DEFINED CACHE{CURL_ZLIB})
- include(cmake/zlib_external.cmake)
- endif()
-
- if (CPR_ENABLE_CURL_HTTP_ONLY)
- # We only need HTTP (and HTTPS) support:
- set(HTTP_ONLY ON CACHE INTERNAL "" FORCE)
- endif()
- set(BUILD_CURL_EXE OFF CACHE INTERNAL "" FORCE)
- set(BUILD_TESTING OFF)
-
- if (CURL_VERBOSE_LOGGING)
- message(STATUS "Enabled curl debug features")
- set(ENABLE_DEBUG ON CACHE INTERNAL "" FORCE)
- endif()
-
- if (CPR_ENABLE_SSL)
- set(CURL_ENABLE_SSL ON CACHE INTERNAL "" FORCE)
- if(ANDROID)
- set(CURL_CA_PATH "/system/etc/security/cacerts" CACHE INTERNAL "")
- elseif(CPR_SKIP_CA_BUNDLE_SEARCH)
- set(CURL_CA_PATH "none" CACHE INTERNAL "")
- else()
- set(CURL_CA_PATH "auto" CACHE INTERNAL "")
- endif()
-
- if(CPR_SKIP_CA_BUNDLE_SEARCH)
- set(CURL_CA_BUNDLE "none" CACHE INTERNAL "")
- elseif(NOT DEFINED CURL_CA_BUNDLE)
- set(CURL_CA_BUNDLE "auto" CACHE INTERNAL "")
- endif()
-
- if(SSL_BACKEND_USED STREQUAL "WinSSL")
- set(CURL_USE_SCHANNEL ON CACHE INTERNAL "" FORCE)
- set(CURL_WINDOWS_SSPI ON CACHE INTERNAL "" FORCE)
- endif()
-
- if(SSL_BACKEND_USED STREQUAL "OpenSSL")
- set(CURL_USE_OPENSSL ON CACHE INTERNAL "" FORCE)
- endif()
-
- if(SSL_BACKEND_USED STREQUAL "DarwinSSL")
- set(CURL_USE_SECTRANSP ON CACHE INTERNAL "" FORCE)
- endif()
-
- if(SSL_BACKEND_USED STREQUAL "MbedTLS")
- set(CURL_USE_MBEDTLS ON CACHE INTERNAL "" FORCE)
- endif()
-
- message(STATUS "Enabled curl SSL")
- else()
- set(CURL_ENABLE_SSL OFF CACHE INTERNAL "" FORCE)
-
- set(CURL_CA_PATH "none" CACHE INTERNAL "" FORCE)
- set(CURL_USE_SCHANNEL OFF CACHE INTERNAL "" FORCE)
- set(CURL_WINDOWS_SSPI OFF CACHE INTERNAL "" FORCE)
- set(CURL_USE_OPENSSL OFF CACHE INTERNAL "" FORCE)
- set(CURL_USE_SECTRANSP OFF CACHE INTERNAL "" FORCE)
- set(CURL_USE_MBEDTLS OFF CACHE INTERNAL "" FORCE)
- message(STATUS "Disabled curl SSL")
- endif()
- # Disable linting for curl
- clear_variable(DESTINATION CMAKE_CXX_CLANG_TIDY BACKUP CMAKE_CXX_CLANG_TIDY_BKP)
-
- if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0")
- cmake_policy(SET CMP0135 NEW)
- endif()
-
- #FetchContent
-
- restore_variable(DESTINATION CMAKE_CXX_CLANG_TIDY BACKUP CMAKE_CXX_CLANG_TIDY_BKP)
-endif()
-
-# GTest configuration
-if(CPR_BUILD_TESTS)
- if(CPR_USE_SYSTEM_GTEST)
- find_package(GTest)
- endif()
- if(NOT CPR_USE_SYSTEM_GTEST OR NOT GTEST_FOUND)
- message(STATUS "Not using system gtest, using built-in googletest project instead.")
- if(MSVC)
- # By default, GTest compiles on Windows in CRT static linkage mode. We use this
- # variable to force it into using the CRT in dynamic linkage (DLL), just as CPR
- # does.
- set(gtest_force_shared_crt ON CACHE BOOL "Force gtest to use the shared c runtime")
- endif()
-
- # Disable linting for google test
- clear_variable(DESTINATION CMAKE_CXX_CLANG_TIDY BACKUP CMAKE_CXX_CLANG_TIDY_BKP)
-
- FetchContent_Declare(googletest
- URL https://github.com/google/googletest/archive/release-1.11.0.tar.gz
- URL_HASH SHA256=b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5 # the file hash for release-1.11.0.tar.gz
- USES_TERMINAL_DOWNLOAD TRUE) # <---- This is needed only for Ninja to show download progress
- FetchContent_MakeAvailable(googletest)
-
- restore_variable(DESTINATION CMAKE_CXX_CLANG_TIDY BACKUP CMAKE_CXX_CLANG_TIDY_BKP)
-
- add_library(gtest_int INTERFACE)
- target_link_libraries(gtest_int INTERFACE gtest)
- target_include_directories(gtest_int INTERFACE ${googletest_SOURCE_DIR}/include)
-
- add_library(GTest::GTest ALIAS gtest_int)
-
- # Group under the "tests/gtest" project folder in IDEs such as Visual Studio.
- set_property(TARGET gtest PROPERTY FOLDER "tests/gtest")
- set_property(TARGET gtest_main PROPERTY FOLDER "tests/gtest")
- endif()
-endif()
-
-
-# Mongoose configuration
-if(CPR_BUILD_TESTS)
- message(STATUS "Building mongoose project for test support.")
-
- if(CPR_BUILD_TESTS_SSL)
- if(NOT CPR_ENABLE_SSL)
- message(FATAL_ERROR "OpenSSL is required to build SSL test but CPR_ENABLE_SSL is disabled. Either set CPR_ENABLE_SSL to ON or disable CPR_BUILD_TESTS_SSL.")
- endif()
-
- if(NOT(SSL_BACKEND_USED STREQUAL "OpenSSL"))
- message(FATAL_ERROR "OpenSSL is required for SSL test, but it seams like OpenSSL is not being used as SSL backend. Either set CPR_BUILD_TESTS_SSL to OFF or set CPR_FORCE_OPENSSL_BACKEND to ON and try again.")
- endif()
-
- set(ENABLE_SSL_TESTS ON CACHE INTERNAL "")
- else()
- set(ENABLE_SSL_TESTS OFF CACHE INTERNAL "")
- endif()
-
- # Disable linting for mongoose
- clear_variable(DESTINATION CMAKE_CXX_CLANG_TIDY BACKUP CMAKE_CXX_CLANG_TIDY_BKP)
-
- FetchContent_Declare(mongoose
- URL https://github.com/cesanta/mongoose/archive/7.7.tar.gz
- URL_HASH SHA256=4e5733dae31c3a81156af63ca9aa3a6b9b736547f21f23c3ab2f8e3f1ecc16c0 # the hash for 7.7.tar.gz
- USES_TERMINAL_DOWNLOAD TRUE) # <---- This is needed only for Ninja to show download progress
- # We can not use FetchContent_MakeAvailable, since we need to patch mongoose to use CMake
- if (NOT mongoose_POPULATED)
- FetchContent_POPULATE(mongoose)
-
- file(INSTALL cmake/mongoose.CMakeLists.txt DESTINATION ${mongoose_SOURCE_DIR})
- file(RENAME ${mongoose_SOURCE_DIR}/mongoose.CMakeLists.txt ${mongoose_SOURCE_DIR}/CMakeLists.txt)
- add_subdirectory(${mongoose_SOURCE_DIR} ${mongoose_BINARY_DIR})
-
- endif()
- # Group under the "external" project folder in IDEs such as Visual Studio.
- set_property(TARGET mongoose PROPERTY FOLDER "external")
- restore_variable(DESTINATION CMAKE_CXX_CLANG_TIDY BACKUP CMAKE_CXX_CLANG_TIDY_BKP)
-endif()
-
-
-add_subdirectory(cpr)
-add_subdirectory(include)
-
-if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND CPR_BUILD_TESTS)
- # Disable linting for tests since they are currently not up to the standard
- clear_variable(DESTINATION CMAKE_CXX_CLANG_TIDY BACKUP CMAKE_CXX_CLANG_TIDY_BKP)
- enable_testing()
- add_subdirectory(test)
- restore_variable(DESTINATION CMAKE_CXX_CLANG_TIDY BACKUP CMAKE_CXX_CLANG_TIDY_BKP)
-endif()
diff --git a/cpr-1.10.5/CODE_OF_CONDUCT.md b/cpr-1.10.5/CODE_OF_CONDUCT.md
deleted file mode 100644
index 1c9ee05..0000000
--- a/cpr-1.10.5/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,128 +0,0 @@
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-We as members, contributors, and leaders pledge to make participation in our
-community a harassment-free experience for everyone, regardless of age, body
-size, visible or invisible disability, ethnicity, sex characteristics, gender
-identity and expression, level of experience, education, socio-economic status,
-nationality, personal appearance, race, religion, or sexual identity
-and orientation.
-
-We pledge to act and interact in ways that contribute to an open, welcoming,
-diverse, inclusive, and healthy community.
-
-## Our Standards
-
-Examples of behavior that contributes to a positive environment for our
-community include:
-
-* Demonstrating empathy and kindness toward other people
-* Being respectful of differing opinions, viewpoints, and experiences
-* Giving and gracefully accepting constructive feedback
-* Accepting responsibility and apologizing to those affected by our mistakes,
- and learning from the experience
-* Focusing on what is best not just for us as individuals, but for the
- overall community
-
-Examples of unacceptable behavior include:
-
-* The use of sexualized language or imagery, and sexual attention or
- advances of any kind
-* Trolling, insulting or derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or email
- address, without their explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-## Enforcement Responsibilities
-
-Community leaders are responsible for clarifying and enforcing our standards of
-acceptable behavior and will take appropriate and fair corrective action in
-response to any behavior that they deem inappropriate, threatening, offensive,
-or harmful.
-
-Community leaders have the right and responsibility to remove, edit, or reject
-comments, commits, code, wiki edits, issues, and other contributions that are
-not aligned to this Code of Conduct, and will communicate reasons for moderation
-decisions when appropriate.
-
-## Scope
-
-This Code of Conduct applies within all community spaces, and also applies when
-an individual is officially representing the community in public spaces.
-Examples of representing our community include using an official e-mail address,
-posting via an official social media account, or acting as an appointed
-representative at an online or offline event.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported to the community leaders responsible for enforcement at
-cc@libcpr.org.
-All complaints will be reviewed and investigated promptly and fairly.
-
-All community leaders are obligated to respect the privacy and security of the
-reporter of any incident.
-
-## Enforcement Guidelines
-
-Community leaders will follow these Community Impact Guidelines in determining
-the consequences for any action they deem in violation of this Code of Conduct:
-
-### 1. Correction
-
-**Community Impact**: Use of inappropriate language or other behavior deemed
-unprofessional or unwelcome in the community.
-
-**Consequence**: A private, written warning from community leaders, providing
-clarity around the nature of the violation and an explanation of why the
-behavior was inappropriate. A public apology may be requested.
-
-### 2. Warning
-
-**Community Impact**: A violation through a single incident or series
-of actions.
-
-**Consequence**: A warning with consequences for continued behavior. No
-interaction with the people involved, including unsolicited interaction with
-those enforcing the Code of Conduct, for a specified period of time. This
-includes avoiding interactions in community spaces as well as external channels
-like social media. Violating these terms may lead to a temporary or
-permanent ban.
-
-### 3. Temporary Ban
-
-**Community Impact**: A serious violation of community standards, including
-sustained inappropriate behavior.
-
-**Consequence**: A temporary ban from any sort of interaction or public
-communication with the community for a specified period of time. No public or
-private interaction with the people involved, including unsolicited interaction
-with those enforcing the Code of Conduct, is allowed during this period.
-Violating these terms may lead to a permanent ban.
-
-### 4. Permanent Ban
-
-**Community Impact**: Demonstrating a pattern of violation of community
-standards, including sustained inappropriate behavior, harassment of an
-individual, or aggression toward or disparagement of classes of individuals.
-
-**Consequence**: A permanent ban from any sort of public interaction within
-the community.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage],
-version 2.0, available at
-https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
-
-Community Impact Guidelines were inspired by [Mozilla's code of conduct
-enforcement ladder](https://github.com/mozilla/diversity).
-
-[homepage]: https://www.contributor-covenant.org
-
-For answers to common questions about this code of conduct, see the FAQ at
-https://www.contributor-covenant.org/faq. Translations are available at
-https://www.contributor-covenant.org/translations.
diff --git a/cpr-1.10.5/CONTRIBUTING.md b/cpr-1.10.5/CONTRIBUTING.md
deleted file mode 100644
index abfb97c..0000000
--- a/cpr-1.10.5/CONTRIBUTING.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributing to C++ Requests
-
-Please fork this repository and contribute back using [pull requests](https://github.com/whoshuu/cpr/pulls). Features can be requested using [issues](https://github.com/whoshuu/cpr/issues). All code, comments, and critiques are greatly appreciated.
-
-## Formatting
-
-To avoid unproductive debates on formatting, this project uses `clang-format` to ensure a consistent style across all source files. Currently, `clang-format` 3.8 is the version of `clang-format` we use. The format file can be found [here](https://github.com/whoshuu/cpr/blob/master/.clang-format). To install `clang-format` on Ubuntu, run this:
-
-```
-apt-get install clang-format-3.8
-```
-
-To install `clang-format` on OS X, run this:
-
-```
-brew install clang-format
-```
-
-Note that `brew` might install a later version of `clang-format`, but it should be mostly compatible with what's run on the Travis servers.
-
-To run `clang-format` on every source file, run this in the root directory:
-
-```
-./format-check.sh
-```
-
-This should indicate which files need formatting and also show a diff of the requested changes. More specific usage instructions can be found on the official [LLVM website](http://releases.llvm.org/3.8.0/tools/clang/docs/ClangFormat.html).
diff --git a/cpr-1.10.5/CppCheckSuppressions.txt b/cpr-1.10.5/CppCheckSuppressions.txt
deleted file mode 100644
index fec131b..0000000
--- a/cpr-1.10.5/CppCheckSuppressions.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-noExplicitConstructor
-ConfigurationNotChecked
-passedByValue
diff --git a/cpr-1.10.5/LICENSE b/cpr-1.10.5/LICENSE
deleted file mode 100644
index c63edeb..0000000
--- a/cpr-1.10.5/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-This license applies to everything except the contents of the "test"
-directory and its subdirectories.
-
-MIT License
-
-Copyright (c) 2017-2021 Huu Nguyen
-Copyright (c) 2022 libcpr and many other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
diff --git a/cpr-1.10.5/README.md b/cpr-1.10.5/README.md
deleted file mode 100644
index f6accae..0000000
--- a/cpr-1.10.5/README.md
+++ /dev/null
@@ -1,173 +0,0 @@
-# C++ Requests: Curl for People
-
-[![Documentation](https://img.shields.io/badge/docs-online-informational?style=flat&link=https://docs.libcpr.org/)](https://docs.libcpr.org/)
-![CI](https://github.com/libcpr/cpr/workflows/CI/badge.svg)
-[![Gitter](https://badges.gitter.im/libcpr/community.svg)](https://gitter.im/libcpr/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
-
-## Announcements
-
-* This project is being maintained by [Fabian Sauter](https://github.com/com8) and [Kilian Traub](https://github.com/KingKili).
-* For quick help, and discussion libcpr also offer a [gitter](https://gitter.im/libcpr/community?utm_source=share-link&utm_medium=link&utm_campaign=share-link) chat.
-
-## Supported Releases
-| Release | Min. C++ Standard | Status | Notes |
-|----------|-------------------|--------|-------|
-| master | `cpp17` | ![alt text][preview] | |
-| 1.10.x | `cpp17` | ![alt text][supported] | |
-| 1.9.x | `cpp11` | ![alt text][supported] | Supported until 01.01.2025 |
-| <= 1.8.x | `cpp11` | ![alt text][unsupported] | |
-
-[unsupported]: https://img.shields.io/badge/-unsupported-red "unsupported"
-[supported]: https://img.shields.io/badge/-supported-green "supported"
-[preview]: https://img.shields.io/badge/-preview-orange "preview"
-
-## TLDR
-
-C++ Requests is a simple wrapper around [libcurl](http://curl.haxx.se/libcurl) inspired by the excellent [Python Requests](https://github.com/kennethreitz/requests) project.
-
-Despite its name, libcurl's easy interface is anything but, and making mistakes, misusing it is a common source of error and frustration. Using the more expressive language facilities of `C++17` (or `C++11` in case you use cpr < 1.10.0), this library captures the essence of making network calls into a few concise idioms.
-
-Here's a quick GET request:
-
-```c++
-#include
-
-int main(int argc, char** argv) {
- cpr::Response r = cpr::Get(cpr::Url{"https://api.github.com/repos/whoshuu/cpr/contributors"},
- cpr::Authentication{"user", "pass", cpr::AuthMode::BASIC},
- cpr::Parameters{{"anon", "true"}, {"key", "value"}});
- r.status_code; // 200
- r.header["content-type"]; // application/json; charset=utf-8
- r.text; // JSON text string
- return 0;
-}
-```
-
-And here's [less functional, more complicated code, without cpr](https://gist.github.com/whoshuu/2dc858b8730079602044).
-
-## Documentation
-
-[![Documentation](https://img.shields.io/badge/docs-online-informational?style=for-the-badge&link=https://docs.libcpr.org/)](https://docs.libcpr.org/)
-You can find the latest documentation [here](https://docs.libcpr.org/). It's a work in progress, but it should give you a better idea of how to use the library than the [tests](https://github.com/libcpr/cpr/tree/master/test) currently do.
-
-## Features
-
-C++ Requests currently supports:
-
-* Custom headers
-* Url encoded parameters
-* Url encoded POST values
-* Multipart form POST upload
-* File POST upload
-* Basic authentication
-* Bearer authentication
-* Digest authentication
-* NTLM authentication
-* Connection and request timeout specification
-* Timeout for low speed connection
-* Asynchronous requests
-* :cookie: support!
-* Proxy support
-* Callback interfaces
-* PUT methods
-* DELETE methods
-* HEAD methods
-* OPTIONS methods
-* PATCH methods
-* Thread Safe access to [libCurl](https://curl.haxx.se/libcurl/c/threadsafe.html)
-* OpenSSL and WinSSL support for HTTPS requests
-
-## Planned
-
-For a quick overview about the planed features, have a look at the next [Milestones](https://github.com/libcpr/cpr/milestones).
-
-## Usage
-
-### CMake
-
-#### fetch_content:
-If you already have a CMake project you need to integrate C++ Requests with, the primary way is to use `fetch_content`.
-Add the following to your `CMakeLists.txt`.
-
-
-```cmake
-include(FetchContent)
-FetchContent_Declare(cpr GIT_REPOSITORY https://github.com/libcpr/cpr.git
- GIT_TAG 0817715923c9705e68994eb52ef9df3f6845beba) # The commit hash for 1.10.x. Replace with the latest from: https://github.com/libcpr/cpr/releases
-FetchContent_MakeAvailable(cpr)
-```
-
-This will produce the target `cpr::cpr` which you can link against the typical way:
-
-```cmake
-target_link_libraries(your_target_name PRIVATE cpr::cpr)
-```
-
-That should do it!
-There's no need to handle `libcurl` yourself. All dependencies are taken care of for you.
-All of this can be found in an example [**here**](https://github.com/libcpr/example-cmake-fetch-content).
-
-#### find_package():
-If you prefer not to use `fetch_content`, you can download, build, and install the library and then use CMake `find_package()` function to integrate it into a project.
-
-**Note:** this feature is feasible only if CPR_USE_SYSTEM_CURL is set. (see [#645](https://github.com/libcpr/cpr/pull/645))
-```Bash
-$ git clone https://github.com/libcpr/cpr.git
-$ cd cpr && mkdir build && cd build
-$ cmake .. -DCPR_USE_SYSTEM_CURL=ON
-$ cmake --build .
-$ sudo cmake --install .
-```
-In your `CMakeLists.txt`:
-```cmake
-find_package(cpr REQUIRED)
-add_executable(your_target_name your_target_name.cpp)
-target_link_libraries(your_target_name PRIVATE cpr::cpr)
-```
-
-### Bazel
-
-Please refer to [hedronvision/bazel-make-cc-https-easy](https://github.com/hedronvision/bazel-make-cc-https-easy).
-
-### Packages for Linux Distributions
-
-Alternatively, you may install a package specific to your Linux distribution. Since so few distributions currently have a package for cpr, most users will not be able to run your program with this approach.
-
-Currently, we are aware of packages for the following distributions:
-
-* [Arch Linux (AUR)](https://aur.archlinux.org/packages/cpr)
-
-If there's no package for your distribution, try making one! If you do, and it is added to your distribution's repositories, please submit a pull request to add it to the list above. However, please only do this if you plan to actively maintain the package.
-
-### NuGet Package
-
-For Windows, there is also a libcpr NuGet package available. Currently, x86 and x64 builds are supported with release and debug configuration.
-
-The package can be found here: [NuGet.org](https://www.nuget.org/packages/libcpr/)
-
-## Requirements
-
-The only explicit requirements are:
-
-* a `C++17` compatible compiler such as Clang or GCC. The minimum required version of GCC is unknown, so if anyone has trouble building this library with a specific version of GCC, do let us know
-* in case you only have a `C++11` compatible compiler available, all versions below cpr 1.9.x are for you. The 1.10.0 release of cpr switches to `C++17` as a requirement.
-* If you would like to perform https requests `OpenSSL` and its development libraries are required.
-
-## Building cpr - Using vcpkg
-
-You can download and install cpr using the [vcpkg](https://github.com/Microsoft/vcpkg) dependency manager:
-```Bash
-git clone https://github.com/Microsoft/vcpkg.git
-cd vcpkg
-./bootstrap-vcpkg.sh
-./vcpkg integrate install
-./vcpkg install cpr
-```
-The `cpr` port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
-
-## Building cpr - Using Conan
-
-You can download and install `cpr` using the [Conan](https://conan.io/) package manager. Setup your CMakeLists.txt (see [Conan documentation](https://docs.conan.io/en/latest/integrations/build_system.html) on how to use MSBuild, Meson and others).
-An example can be found [**here**](https://github.com/libcpr/example-cmake-conan).
-
-The `cpr` package in Conan is kept up to date by Conan contributors. If the version is out of date, please [create an issue or pull request](https://github.com/conan-io/conan-center-index) on the `conan-center-index` repository.
diff --git a/cpr-1.10.5/cmake/FindMbedTLS.cmake b/cpr-1.10.5/cmake/FindMbedTLS.cmake
deleted file mode 100644
index 61ec464..0000000
--- a/cpr-1.10.5/cmake/FindMbedTLS.cmake
+++ /dev/null
@@ -1,14 +0,0 @@
-# Source: https://github.com/curl/curl/blob/curl-7_82_0/CMake/FindMbedTLS.cmake
-find_path(MBEDTLS_INCLUDE_DIRS mbedtls/ssl.h)
-
-find_library(MBEDTLS_LIBRARY mbedtls)
-find_library(MBEDX509_LIBRARY mbedx509)
-find_library(MBEDCRYPTO_LIBRARY mbedcrypto)
-
-set(MBEDTLS_LIBRARIES "${MBEDTLS_LIBRARY}" "${MBEDX509_LIBRARY}" "${MBEDCRYPTO_LIBRARY}")
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(MbedTLS DEFAULT_MSG
- MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
-
-mark_as_advanced(MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
diff --git a/cpr-1.10.5/cmake/clang-tidy.cmake b/cpr-1.10.5/cmake/clang-tidy.cmake
deleted file mode 100644
index 26defad..0000000
--- a/cpr-1.10.5/cmake/clang-tidy.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
-if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
- find_program(CLANG_TIDY_EXECUTABLE NAMES clang-tidy)
- mark_as_advanced(CLANG_TIDY_EXECUTABLE)
-
- if (${CLANG_TIDY_EXECUTABLE})
- message(FATAL_ERROR "Clang-tidy not found")
- else()
- message(STATUS "Enabling clang-tidy")
- set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE};-warnings-as-errors=*")
- endif()
-else()
- message(FATAL_ERROR "Clang-tidy is not supported when building for windows")
-endif()
diff --git a/cpr-1.10.5/cmake/clear_variable.cmake b/cpr-1.10.5/cmake/clear_variable.cmake
deleted file mode 100644
index 469ac82..0000000
--- a/cpr-1.10.5/cmake/clear_variable.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
-macro(clear_variable)
- cmake_parse_arguments(CLEAR_VAR "" "DESTINATION;BACKUP;REPLACE" "" ${ARGN})
- set(${CLEAR_VAR_BACKUP} ${${CLEAR_VAR_DESTINATION}})
- set(${CLEAR_VAR_DESTINATION} ${CLEAR_VAR_REPLACE})
-endmacro()
-
-macro(restore_variable)
- cmake_parse_arguments(CLEAR_VAR "" "DESTINATION;BACKUP" "" ${ARGN})
- set(${CLEAR_VAR_DESTINATION} ${${CLEAR_VAR_BACKUP}})
- unset(${CLEAR_VAR_BACKUP})
-endmacro()
diff --git a/cpr-1.10.5/cmake/code_coverage.cmake b/cpr-1.10.5/cmake/code_coverage.cmake
deleted file mode 100644
index eefc4fb..0000000
--- a/cpr-1.10.5/cmake/code_coverage.cmake
+++ /dev/null
@@ -1,29 +0,0 @@
-# Code coverage
-if(CPR_BUILD_TESTS AND CPR_GENERATE_COVERAGE)
- set(CMAKE_BUILD_TYPE COVERAGE CACHE INTERNAL "Coverage enabled build")
- message(STATUS "Enabling gcov support")
- if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- set(COVERAGE_FLAG "--coverage")
- endif()
- set(CMAKE_CXX_FLAGS_COVERAGE
- "-g -O0 ${COVERAGE_FLAG} -fprofile-arcs -ftest-coverage"
- CACHE STRING "Flags used by the C++ compiler during coverage builds."
- FORCE)
- set(CMAKE_C_FLAGS_COVERAGE
- "-g -O0 ${COVERAGE_FLAG} -fprofile-arcs -ftest-coverage"
- CACHE STRING "Flags used by the C compiler during coverage builds."
- FORCE)
- set(CMAKE_EXE_LINKER_FLAGS_COVERAGE
- ""
- CACHE STRING "Flags used for linking binaries during coverage builds."
- FORCE)
- set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE
- ""
- CACHE STRING "Flags used by the shared libraries linker during coverage builds."
- FORCE)
- mark_as_advanced(
- CMAKE_CXX_FLAGS_COVERAGE
- CMAKE_C_FLAGS_COVERAGE
- CMAKE_EXE_LINKER_FLAGS_COVERAGE
- CMAKE_SHARED_LINKER_FLAGS_COVERAGE)
-endif()
diff --git a/cpr-1.10.5/cmake/cppcheck.cmake b/cpr-1.10.5/cmake/cppcheck.cmake
deleted file mode 100644
index 8ef4688..0000000
--- a/cpr-1.10.5/cmake/cppcheck.cmake
+++ /dev/null
@@ -1,10 +0,0 @@
-find_program(CMAKE_CXX_CPPCHECK NAMES cppcheck)
-if(CMAKE_CXX_CPPCHECK)
- list(APPEND CMAKE_CXX_CPPCHECK
- "--error-exitcode=1"
- "--enable=warning,style"
- "--force"
- "--inline-suppr"
- "--std=c++${CMAKE_CXX_STANDARD}"
- "--suppressions-list=${CMAKE_SOURCE_DIR}/CppCheckSuppressions.txt")
-endif()
diff --git a/cpr-1.10.5/cmake/cprConfig.cmake.in b/cpr-1.10.5/cmake/cprConfig.cmake.in
deleted file mode 100644
index 9c0bda5..0000000
--- a/cpr-1.10.5/cmake/cprConfig.cmake.in
+++ /dev/null
@@ -1,8 +0,0 @@
-include(CMakeFindDependencyMacro)
-@PACKAGE_INIT@
-
-find_dependency(CURL REQUIRED)
-
-include(${CMAKE_CURRENT_LIST_DIR}/cprTargets.cmake)
-
-check_required_components(cpr)
\ No newline at end of file
diff --git a/cpr-1.10.5/cmake/cprver.h.in b/cpr-1.10.5/cmake/cprver.h.in
deleted file mode 100644
index e353324..0000000
--- a/cpr-1.10.5/cmake/cprver.h.in
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef CPR_CPRVER_H
-#define CPR_CPRVER_H
-
-/**
- * CPR version as a string.
- **/
-#define CPR_VERSION "${cpr_VERSION}"
-
-/**
- * CPR version split up into parts.
- **/
-#define CPR_VERSION_MAJOR ${cpr_VERSION_MAJOR}
-#define CPR_VERSION_MINOR ${cpr_VERSION_MINOR}
-#define CPR_VERSION_PATCH ${cpr_VERSION_PATCH}
-
-/**
- * CPR version as a single hex digit.
- * it can be split up into three parts:
- * 0xAABBCC
- * AA: The current CPR major version number in a hex format.
- * BB: The current CPR minor version number in a hex format.
- * CC: The current CPR patch version number in a hex format.
- *
- * Examples:
- * '0x010702' -> 01.07.02 -> CPR_VERSION: 1.7.2
- * '0xA13722' -> A1.37.22 -> CPR_VERSION: 161.55.34
- **/
-#define CPR_VERSION_NUM ${cpr_VERSION_NUM}
-
-#endif
diff --git a/cpr-1.10.5/cmake/mongoose.CMakeLists.txt b/cpr-1.10.5/cmake/mongoose.CMakeLists.txt
deleted file mode 100644
index 8059997..0000000
--- a/cpr-1.10.5/cmake/mongoose.CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-cmake_minimum_required(VERSION 3.15)
-project(mongoose C)
-
-
-add_library(mongoose STATIC mongoose.c)
-target_include_directories(mongoose PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-
-if(ENABLE_SSL_TESTS)
- # Enable mongoose SSL
- target_compile_definitions(mongoose PUBLIC MG_ENABLE_OPENSSL)
- target_link_libraries(mongoose PRIVATE OpenSSL::SSL)
-endif()
diff --git a/cpr-1.10.5/cmake/sanitizer.cmake b/cpr-1.10.5/cmake/sanitizer.cmake
deleted file mode 100644
index 10cdc46..0000000
--- a/cpr-1.10.5/cmake/sanitizer.cmake
+++ /dev/null
@@ -1,69 +0,0 @@
-include(CheckCXXCompilerFlag)
-include(CheckCXXSourceRuns)
-
-set(ALL_SAN_FLAGS "")
-
- # No sanitizers when cross compiling to prevent stuff like this: https://github.com/whoshuu/cpr/issues/582
-if(NOT CMAKE_CROSSCOMPILING)
- # Thread sanitizer
- set(THREAD_SAN_FLAGS "-fsanitize=thread")
- set(PREV_FLAG ${CMAKE_REQUIRED_FLAGS})
- set(CMAKE_REQUIRED_FLAGS "${THREAD_SAN_FLAGS}")
- check_cxx_source_runs("int main() { return 0; }" THREAD_SANITIZER_AVAILABLE)
- set(CMAKE_REQUIRED_FLAGS ${PREV_FLAG})
- # Do not add the ThreadSanitizer for builds with all sanitizers enabled because it is incompatible with other sanitizers.
-
- # Address sanitizer
- set(ADDR_SAN_FLAGS "-fsanitize=address")
- set(PREV_FLAG ${CMAKE_REQUIRED_FLAGS})
- set(CMAKE_REQUIRED_FLAGS "${ADDR_SAN_FLAGS}")
- check_cxx_source_runs("int main() { return 0; }" ADDRESS_SANITIZER_AVAILABLE)
- set(CMAKE_REQUIRED_FLAGS ${PREV_FLAG})
- if(ADDRESS_SANITIZER_AVAILABLE)
- set(ALL_SAN_FLAGS "${ALL_SAN_FLAGS} ${ADDR_SAN_FLAGS}")
- endif()
-
- # Leak sanitizer
- set(LEAK_SAN_FLAGS "-fsanitize=leak")
- check_cxx_compiler_flag(${LEAK_SAN_FLAGS} LEAK_SANITIZER_AVAILABLE)
- if(LEAK_SANITIZER_AVAILABLE)
- set(ALL_SAN_FLAGS "${ALL_SAN_FLAGS} ${LEAK_SAN_FLAGS}")
- endif()
-
- # Undefined behavior sanitizer
- set(UDEF_SAN_FLAGS "-fsanitize=undefined")
- check_cxx_compiler_flag(${UDEF_SAN_FLAGS} UNDEFINED_BEHAVIOUR_SANITIZER_AVAILABLE)
- if(UNDEFINED_BEHAVIOUR_SANITIZER_AVAILABLE)
- set(ALL_SAN_FLAGS "${ALL_SAN_FLAGS} ${UDEF_SAN_FLAGS}")
- endif()
-
- # All sanitizer (without thread sanitizer)
- if(NOT ALL_SAN_FLAGS STREQUAL "")
- set(PREV_FLAG ${CMAKE_REQUIRED_FLAGS})
- set(CMAKE_REQUIRED_FLAGS "${ALL_SAN_FLAGS}")
- check_cxx_source_runs("int main() { return 0; }" ALL_SANITIZERS_AVAILABLE)
- set(CMAKE_REQUIRED_FLAGS ${PREV_FLAG})
- endif()
-
- if(CPR_DEBUG_SANITIZER_FLAG_THREAD AND THREAD_SANITIZER_AVAILABLE)
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${THREAD_SAN_FLAGS}" CACHE INTERNAL "Flags used by the C compiler during thread sanitizer builds." FORCE)
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${THREAD_SAN_FLAGS}" CACHE INTERNAL "Flags used by the C++ compiler during thread sanitizer builds." FORCE)
- set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE INTERNAL "Flags used for the linker during thread sanitizer builds" FORCE)
- elseif(CPR_DEBUG_SANITIZER_FLAG_ADDR AND ADDRESS_SANITIZER_AVAILABLE)
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${ADDR_SAN_FLAGS} -fno-omit-frame-pointer -fno-optimize-sibling-calls" CACHE INTERNAL "Flags used by the C compiler during address sanitizer builds." FORCE)
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${ADDR_SAN_FLAGS} -fno-omit-frame-pointer -fno-optimize-sibling-calls" CACHE INTERNAL "Flags used by the C++ compiler during address sanitizer builds." FORCE)
- set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE INTERNAL "Flags used for the linker during address sanitizer builds" FORCE)
- elseif(CPR_DEBUG_SANITIZER_FLAG_LEAK AND LEAK_SANITIZER_AVAILABLE)
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${LEAK_SAN_FLAGS} -fno-omit-frame-pointer" CACHE INTERNAL "Flags used by the C compiler during leak sanitizer builds." FORCE)
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${LEAK_SAN_FLAGS} -fno-omit-frame-pointer" CACHE INTERNAL "Flags used by the C++ compiler during leak sanitizer builds." FORCE)
- set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE INTERNAL "Flags used for the linker during leak sanitizer builds" FORCE)
- elseif(CPR_DEBUG_SANITIZER_FLAG_UB AND UNDEFINED_BEHAVIOUR_SANITIZER_AVAILABLE)
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${UDEF_SAN_FLAGS}" CACHE INTERNAL "Flags used by the C compiler during undefined behaviour sanitizer builds." FORCE)
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${UDEF_SAN_FLAGS}" CACHE INTERNAL "Flags used by the C++ compiler during undefined behaviour sanitizer builds." FORCE)
- set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE INTERNAL "Flags used for the linker during undefined behaviour sanitizer builds" FORCE)
- elseif(CPR_DEBUG_SANITIZER_FLAG_ALL AND ALL_SANITIZERS_AVAILABLE)
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${ALL_SAN_FLAGS} -fno-omit-frame-pointer -fno-optimize-sibling-calls" CACHE INTERNAL "Flags used by the C compiler during most possible sanitizer builds." FORCE)
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${ALL_SAN_FLAGS} -fno-omit-frame-pointer -fno-optimize-sibling-calls" CACHE INTERNAL "Flags used by the C++ compiler during most possible sanitizer builds." FORCE)
- set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE INTERNAL "Flags used for the linker during most possible sanitizer builds" FORCE)
- endif()
-endif()
diff --git a/cpr-1.10.5/cmake/zlib_external.cmake b/cpr-1.10.5/cmake/zlib_external.cmake
deleted file mode 100644
index 76c18c4..0000000
--- a/cpr-1.10.5/cmake/zlib_external.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-# ZLIB
-
-# Fix Windows missing "zlib.dll":
-if(WIN32 AND (${CMAKE_PROJECT_NAME} STREQUAL ${PROJECT_NAME}))
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/$ CACHE INTERNAL "" FORCE)
-endif()
-
-set(ZLIB_COMPAT ON CACHE INTERNAL "" FORCE)
-set(ZLIB_ENABLE_TESTS OFF CACHE INTERNAL "" FORCE)
-
-#FetchContent Zlib
-
-# Fix Windows zlib dll names from "zlibd1.dll" to "zlib.dll":
-if(WIN32)
- set_target_properties(zlib PROPERTIES OUTPUT_NAME "zlib")
- set_target_properties(zlib PROPERTIES DEBUG_POSTFIX "")
- set_target_properties(zlib PROPERTIES SUFFIX ".dll")
-endif()
diff --git a/cpr-1.10.5/cpr-config.cmake b/cpr-1.10.5/cpr-config.cmake
deleted file mode 100644
index 58ab483..0000000
--- a/cpr-1.10.5/cpr-config.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-# - C++ Requests, Curl for People
-# This module is a libcurl wrapper written in modern C++.
-# It provides an easy, intuitive, and efficient interface to
-# a host of networking methods.
-#
-# Finding this module will define the following variables:
-# CPR_FOUND - True if the core library has been found
-# CPR_LIBRARIES - Path to the core library archive
-# CPR_INCLUDE_DIRS - Path to the include directories. Gives access
-# to cpr.h, which must be included in every
-# file that uses this interface
-
-find_path(CPR_INCLUDE_DIR
- NAMES cpr.h)
-
-find_library(CPR_LIBRARY
- NAMES cpr
- HINTS ${CPR_LIBRARY_ROOT})
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(CPR REQUIRED_VARS CPR_LIBRARY CPR_INCLUDE_DIR)
-
-if(CPR_FOUND)
- set(CPR_LIBRARIES ${CPR_LIBRARY})
- set(CPR_INCLUDE_DIRS ${CPR_INCLUDE_DIR})
-endif()
diff --git a/cpr-1.10.5/cpr/CMakeLists.txt b/cpr-1.10.5/cpr/CMakeLists.txt
deleted file mode 100644
index 5a2ef82..0000000
--- a/cpr-1.10.5/cpr/CMakeLists.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-cmake_minimum_required(VERSION 3.15)
-
-add_library(cpr
- accept_encoding.cpp
- async.cpp
- auth.cpp
- bearer.cpp
- callback.cpp
- cert_info.cpp
- cookies.cpp
- cprtypes.cpp
- curl_container.cpp
- curlholder.cpp
- error.cpp
- file.cpp
- multipart.cpp
- parameters.cpp
- payload.cpp
- proxies.cpp
- proxyauth.cpp
- session.cpp
- threadpool.cpp
- timeout.cpp
- unix_socket.cpp
- util.cpp
- response.cpp
- redirect.cpp
- interceptor.cpp
- ssl_ctx.cpp
- curlmultiholder.cpp
- multiperform.cpp)
-
-add_library(cpr::cpr ALIAS cpr)
-
-target_link_libraries(cpr PUBLIC -lcurl) # todo should be private, but first dependencies in ssl_options need to be removed
-
-# Fix missing OpenSSL includes for Windows since in 'ssl_ctx.cpp' we include OpenSSL directly
-if(SSL_BACKEND_USED STREQUAL "OpenSSL")
- target_link_libraries(cpr PRIVATE OpenSSL::SSL)
- target_include_directories(cpr PRIVATE ${OPENSSL_INCLUDE_DIR})
-endif()
-
-# Set version for shared libraries.
-set_target_properties(cpr
- PROPERTIES
- VERSION ${${PROJECT_NAME}_VERSION}
- SOVERSION ${${PROJECT_NAME}_VERSION_MAJOR})
-
-# Import GNU common install directory variables
-include(GNUInstallDirs)
-
-if(CPR_USE_SYSTEM_CURL)
- install(TARGETS cpr
- EXPORT cprTargets
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
- # Include CMake helpers for package config files
- # Follow this installation guideline: https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html
- include(CMakePackageConfigHelpers)
-
- write_basic_package_version_file(
- "${PROJECT_BINARY_DIR}/cpr/cprConfigVersion.cmake"
- VERSION ${${PROJECT_NAME}_VERSION}
- COMPATIBILITY ExactVersion)
-
- configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/cprConfig.cmake.in
- "${PROJECT_BINARY_DIR}/cpr/cprConfig.cmake"
- INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cpr)
-
- install(EXPORT cprTargets
- FILE cprTargets.cmake
- NAMESPACE cpr::
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cpr)
-
- install(FILES ${PROJECT_BINARY_DIR}/cpr/cprConfig.cmake
- ${PROJECT_BINARY_DIR}/cpr/cprConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cpr)
-
-else()
- install(TARGETS cpr
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-endif()
diff --git a/cpr-1.10.5/cpr/accept_encoding.cpp b/cpr-1.10.5/cpr/accept_encoding.cpp
deleted file mode 100644
index b757668..0000000
--- a/cpr-1.10.5/cpr/accept_encoding.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "cpr/accept_encoding.h"
-
-#include
-#include
-#include
-#include
-#include
-#include
-
-namespace cpr {
-
-AcceptEncoding::AcceptEncoding(const std::initializer_list& methods) {
- methods_.clear();
- std::transform(methods.begin(), methods.end(), std::inserter(methods_, methods_.begin()), [&](cpr::AcceptEncodingMethods method) { return cpr::AcceptEncodingMethodsStringMap.at(method); });
-}
-
-AcceptEncoding::AcceptEncoding(const std::initializer_list& string_methods) : methods_{string_methods} {}
-
-bool AcceptEncoding::empty() const noexcept {
- return methods_.empty();
-}
-
-const std::string AcceptEncoding::getString() const {
- return std::accumulate(std::next(methods_.begin()), methods_.end(), *methods_.begin(), [](std::string a, std::string b) { return std::move(a) + ", " + std::move(b); });
-}
-
-[[nodiscard]] bool AcceptEncoding::disabled() const {
- if (methods_.find(cpr::AcceptEncodingMethodsStringMap.at(AcceptEncodingMethods::disabled)) != methods_.end()) {
- if (methods_.size() != 1) {
- throw std::invalid_argument("AcceptEncoding does not accept any other values if 'disabled' is present. You set the following encodings: " + getString());
- }
- return true;
- }
- return false;
-}
-
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/async.cpp b/cpr-1.10.5/cpr/async.cpp
deleted file mode 100644
index e10d09e..0000000
--- a/cpr-1.10.5/cpr/async.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "cpr/async.h"
-
-namespace cpr {
-
-// NOLINTNEXTLINE (cppcoreguidelines-avoid-non-const-global-variables)
-CPR_SINGLETON_IMPL(GlobalThreadPool)
-
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/auth.cpp b/cpr-1.10.5/cpr/auth.cpp
deleted file mode 100644
index b3576f5..0000000
--- a/cpr-1.10.5/cpr/auth.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "cpr/auth.h"
-#include "cpr/util.h"
-
-namespace cpr {
-Authentication::~Authentication() noexcept {
- util::secureStringClear(auth_string_);
-}
-
-const char* Authentication::GetAuthString() const noexcept {
- return auth_string_.c_str();
-}
-
-AuthMode Authentication::GetAuthMode() const noexcept {
- return auth_mode_;
-}
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/bearer.cpp b/cpr-1.10.5/cpr/bearer.cpp
deleted file mode 100644
index 02bd728..0000000
--- a/cpr-1.10.5/cpr/bearer.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "cpr/bearer.h"
-#include "cpr/util.h"
-
-namespace cpr {
-// Only supported with libcurl >= 7.61.0.
-// As an alternative use SetHeader and add the token manually.
-#if LIBCURL_VERSION_NUM >= 0x073D00
-Bearer::~Bearer() noexcept {
- util::secureStringClear(token_string_);
-}
-
-const char* Bearer::GetToken() const noexcept {
- return token_string_.c_str();
-}
-#endif
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/callback.cpp b/cpr-1.10.5/cpr/callback.cpp
deleted file mode 100644
index 3af230b..0000000
--- a/cpr-1.10.5/cpr/callback.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include
-#include
-#include
-
-namespace cpr {
-
-void CancellationCallback::SetProgressCallback(ProgressCallback& u_cb) {
- user_cb.emplace(std::reference_wrapper{u_cb});
-}
-bool CancellationCallback::operator()(cpr_pf_arg_t dltotal, cpr_pf_arg_t dlnow, cpr_pf_arg_t ultotal, cpr_pf_arg_t ulnow) const {
- const bool cont_operation{!cancellation_state->load()};
- return user_cb ? (cont_operation && (*user_cb)(dltotal, dlnow, ultotal, ulnow)) : cont_operation;
-}
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/cert_info.cpp b/cpr-1.10.5/cpr/cert_info.cpp
deleted file mode 100644
index a77a027..0000000
--- a/cpr-1.10.5/cpr/cert_info.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-#include "cpr/cert_info.h"
-
-namespace cpr {
-
-std::string& CertInfo::operator[](const size_t& pos) {
- return cert_info_[pos];
-}
-
-CertInfo::iterator CertInfo::begin() {
- return cert_info_.begin();
-}
-CertInfo::iterator CertInfo::end() {
- return cert_info_.end();
-}
-
-CertInfo::const_iterator CertInfo::begin() const {
- return cert_info_.begin();
-}
-
-CertInfo::const_iterator CertInfo::end() const {
- return cert_info_.end();
-}
-
-CertInfo::const_iterator CertInfo::cbegin() const {
- return cert_info_.cbegin();
-}
-
-CertInfo::const_iterator CertInfo::cend() const {
- return cert_info_.cend();
-}
-
-void CertInfo::emplace_back(const std::string& str) {
- cert_info_.emplace_back(str);
-}
-
-void CertInfo::push_back(const std::string& str) {
- cert_info_.push_back(str);
-}
-
-void CertInfo::pop_back() {
- cert_info_.pop_back();
-}
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/cookies.cpp b/cpr-1.10.5/cpr/cookies.cpp
deleted file mode 100644
index 41e1246..0000000
--- a/cpr-1.10.5/cpr/cookies.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-#include "cpr/cookies.h"
-#include
-#include
-
-namespace cpr {
-const std::string Cookie::GetDomain() const {
- return domain_;
-}
-
-bool Cookie::IsIncludingSubdomains() const {
- return includeSubdomains_;
-}
-
-const std::string Cookie::GetPath() const {
- return path_;
-}
-
-bool Cookie::IsHttpsOnly() const {
- return httpsOnly_;
-}
-
-const std::chrono::system_clock::time_point Cookie::GetExpires() const {
- return expires_;
-}
-
-const std::string Cookie::GetExpiresString() const {
- std::stringstream ss;
- std::tm tm{};
- const std::time_t tt = std::chrono::system_clock::to_time_t(expires_);
-#ifdef _WIN32
- gmtime_s(&tm, &tt);
-#else
- gmtime_r(&tt, &tm);
-#endif
- ss << std::put_time(&tm, "%a, %d %b %Y %H:%M:%S GMT");
- return ss.str();
-}
-
-const std::string Cookie::GetName() const {
- return name_;
-}
-
-const std::string Cookie::GetValue() const {
- return value_;
-}
-
-const std::string Cookies::GetEncoded(const CurlHolder& holder) const {
- std::stringstream stream;
- for (const cpr::Cookie& item : cookies_) {
- // Depending on if encoding is set to "true", we will URL-encode cookies
- stream << (encode ? holder.urlEncode(item.GetName()) : item.GetName()) << "=";
-
- // special case version 1 cookies, which can be distinguished by
- // beginning and trailing quotes
- if (!item.GetValue().empty() && item.GetValue().front() == '"' && item.GetValue().back() == '"') {
- stream << item.GetValue();
- } else {
- // Depending on if encoding is set to "true", we will URL-encode cookies
- stream << (encode ? holder.urlEncode(item.GetValue()) : item.GetValue());
- }
- stream << "; ";
- }
- return stream.str();
-}
-
-cpr::Cookie& Cookies::operator[](size_t pos) {
- return cookies_[pos];
-}
-
-Cookies::iterator Cookies::begin() {
- return cookies_.begin();
-}
-
-Cookies::iterator Cookies::end() {
- return cookies_.end();
-}
-
-Cookies::const_iterator Cookies::begin() const {
- return cookies_.begin();
-}
-
-Cookies::const_iterator Cookies::end() const {
- return cookies_.end();
-}
-
-Cookies::const_iterator Cookies::cbegin() const {
- return cookies_.cbegin();
-}
-
-Cookies::const_iterator Cookies::cend() const {
- return cookies_.cend();
-}
-
-void Cookies::emplace_back(const Cookie& str) {
- cookies_.emplace_back(str);
-}
-
-void Cookies::push_back(const Cookie& str) {
- cookies_.push_back(str);
-}
-
-void Cookies::pop_back() {
- cookies_.pop_back();
-}
-
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/cprtypes.cpp b/cpr-1.10.5/cpr/cprtypes.cpp
deleted file mode 100644
index 7927b03..0000000
--- a/cpr-1.10.5/cpr/cprtypes.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "cpr/cprtypes.h"
-
-#include
-#include
-
-namespace cpr {
-bool CaseInsensitiveCompare::operator()(const std::string& a, const std::string& b) const noexcept {
- return std::lexicographical_compare(a.begin(), a.end(), b.begin(), b.end(), [](unsigned char ac, unsigned char bc) { return std::tolower(ac) < std::tolower(bc); });
-}
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/curl_container.cpp b/cpr-1.10.5/cpr/curl_container.cpp
deleted file mode 100644
index ea141f2..0000000
--- a/cpr-1.10.5/cpr/curl_container.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "cpr/curl_container.h"
-#include
-#include
-
-
-namespace cpr {
-template
-CurlContainer::CurlContainer(const std::initializer_list& containerList) : containerList_(containerList) {}
-
-template
-void CurlContainer::Add(const std::initializer_list& containerList) {
- std::transform(containerList.begin(), containerList.end(), std::back_inserter(containerList_), [](const T& elem) { return std::move(elem); });
-}
-
-template
-void CurlContainer::Add(const T& element) {
- containerList_.push_back(std::move(element));
-}
-
-template <>
-const std::string CurlContainer::GetContent(const CurlHolder& holder) const {
- std::string content{};
- for (const Parameter& parameter : containerList_) {
- if (!content.empty()) {
- content += "&";
- }
-
- const std::string escapedKey = encode ? holder.urlEncode(parameter.key) : parameter.key;
- if (parameter.value.empty()) {
- content += escapedKey;
- } else {
- const std::string escapedValue = encode ? holder.urlEncode(parameter.value) : parameter.value;
- content += escapedKey + "=";
- content += escapedValue;
- }
- };
-
- return content;
-}
-
-template <>
-const std::string CurlContainer::GetContent(const CurlHolder& holder) const {
- std::string content{};
- for (const cpr::Pair& element : containerList_) {
- if (!content.empty()) {
- content += "&";
- }
- const std::string escaped = encode ? holder.urlEncode(element.value) : element.value;
- content += element.key + "=" + escaped;
- }
-
- return content;
-}
-
-template class CurlContainer;
-template class CurlContainer;
-
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/curlholder.cpp b/cpr-1.10.5/cpr/curlholder.cpp
deleted file mode 100644
index 0dcd6d7..0000000
--- a/cpr-1.10.5/cpr/curlholder.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-#include "cpr/curlholder.h"
-#include
-
-namespace cpr {
-CurlHolder::CurlHolder() {
- /**
- * Allow multithreaded access to CPR by locking curl_easy_init().
- * curl_easy_init() is not thread safe.
- * References:
- * https://curl.haxx.se/libcurl/c/curl_easy_init.html
- * https://curl.haxx.se/libcurl/c/threadsafe.html
- **/
- curl_easy_init_mutex_().lock();
- // NOLINTNEXTLINE (cppcoreguidelines-prefer-member-initializer) since we need it to happen inside the lock
- handle = curl_easy_init();
- curl_easy_init_mutex_().unlock();
-
- assert(handle);
-} // namespace cpr
-
-CurlHolder::~CurlHolder() {
- curl_slist_free_all(chunk);
- curl_slist_free_all(resolveCurlList);
- curl_mime_free(multipart);
- curl_easy_cleanup(handle);
-}
-
-std::string CurlHolder::urlEncode(const std::string& s) const {
- assert(handle);
- char* output = curl_easy_escape(handle, s.c_str(), static_cast(s.length()));
- if (output) {
- std::string result = output;
- curl_free(output);
- return result;
- }
- return "";
-}
-
-std::string CurlHolder::urlDecode(const std::string& s) const {
- assert(handle);
- char* output = curl_easy_unescape(handle, s.c_str(), static_cast(s.length()), nullptr);
- if (output) {
- std::string result = output;
- curl_free(output);
- return result;
- }
- return "";
-}
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/curlmultiholder.cpp b/cpr-1.10.5/cpr/curlmultiholder.cpp
deleted file mode 100644
index 7607937..0000000
--- a/cpr-1.10.5/cpr/curlmultiholder.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "cpr/curlmultiholder.h"
-
-#include
-
-namespace cpr {
-
-CurlMultiHolder::CurlMultiHolder() : handle{curl_multi_init()} {
- assert(handle);
-}
-
-CurlMultiHolder::~CurlMultiHolder() {
- curl_multi_cleanup(handle);
-}
-
-} // namespace cpr
\ No newline at end of file
diff --git a/cpr-1.10.5/cpr/error.cpp b/cpr-1.10.5/cpr/error.cpp
deleted file mode 100644
index f085051..0000000
--- a/cpr-1.10.5/cpr/error.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#include "cpr/error.h"
-
-#include
-
-namespace cpr {
-ErrorCode Error::getErrorCodeForCurlError(std::int32_t curl_code) {
- switch (curl_code) {
- case CURLE_OK:
- return ErrorCode::OK;
- case CURLE_UNSUPPORTED_PROTOCOL:
- return ErrorCode::UNSUPPORTED_PROTOCOL;
- case CURLE_URL_MALFORMAT:
- return ErrorCode::INVALID_URL_FORMAT;
- case CURLE_COULDNT_RESOLVE_PROXY:
- return ErrorCode::PROXY_RESOLUTION_FAILURE;
- case CURLE_COULDNT_RESOLVE_HOST:
- return ErrorCode::HOST_RESOLUTION_FAILURE;
- case CURLE_COULDNT_CONNECT:
- return ErrorCode::CONNECTION_FAILURE;
- case CURLE_OPERATION_TIMEDOUT:
- return ErrorCode::OPERATION_TIMEDOUT;
- case CURLE_SSL_CONNECT_ERROR:
- return ErrorCode::SSL_CONNECT_ERROR;
-#if LIBCURL_VERSION_NUM < 0x073e00
- case CURLE_PEER_FAILED_VERIFICATION:
- return ErrorCode::SSL_REMOTE_CERTIFICATE_ERROR;
-#endif
- case CURLE_ABORTED_BY_CALLBACK:
- case CURLE_WRITE_ERROR:
- return ErrorCode::REQUEST_CANCELLED;
- case CURLE_GOT_NOTHING:
- return ErrorCode::EMPTY_RESPONSE;
- case CURLE_SSL_ENGINE_NOTFOUND:
- case CURLE_SSL_ENGINE_SETFAILED:
- return ErrorCode::GENERIC_SSL_ERROR;
- case CURLE_SEND_ERROR:
- return ErrorCode::NETWORK_SEND_FAILURE;
- case CURLE_RECV_ERROR:
- return ErrorCode::NETWORK_RECEIVE_ERROR;
- case CURLE_SSL_CERTPROBLEM:
- return ErrorCode::SSL_LOCAL_CERTIFICATE_ERROR;
- case CURLE_SSL_CIPHER:
- return ErrorCode::GENERIC_SSL_ERROR;
-#if LIBCURL_VERSION_NUM >= 0x073e00
- case CURLE_PEER_FAILED_VERIFICATION:
- return ErrorCode::SSL_REMOTE_CERTIFICATE_ERROR;
-#else
- case CURLE_SSL_CACERT:
- return ErrorCode::SSL_CACERT_ERROR;
-#endif
- case CURLE_USE_SSL_FAILED:
- case CURLE_SSL_ENGINE_INITFAILED:
- return ErrorCode::GENERIC_SSL_ERROR;
- case CURLE_SSL_CACERT_BADFILE:
- return ErrorCode::SSL_CACERT_ERROR;
- case CURLE_SSL_SHUTDOWN_FAILED:
- return ErrorCode::GENERIC_SSL_ERROR;
- case CURLE_SSL_CRL_BADFILE:
- case CURLE_SSL_ISSUER_ERROR:
- return ErrorCode::SSL_CACERT_ERROR;
- case CURLE_TOO_MANY_REDIRECTS:
- return ErrorCode::TOO_MANY_REDIRECTS;
- default:
- return ErrorCode::INTERNAL_ERROR;
- }
-}
-
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/file.cpp b/cpr-1.10.5/cpr/file.cpp
deleted file mode 100644
index eadb377..0000000
--- a/cpr-1.10.5/cpr/file.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#include "cpr/file.h"
-
-namespace cpr {
-
-Files::Files(const std::initializer_list& p_filepaths) {
- for (const std::string& filepath : p_filepaths) {
- files.emplace_back(filepath);
- }
-}
-
-Files::iterator Files::begin() {
- return files.begin();
-}
-
-Files::iterator Files::end() {
- return files.end();
-}
-
-Files::const_iterator Files::begin() const {
- return files.begin();
-}
-
-Files::const_iterator Files::end() const {
- return files.end();
-}
-
-Files::const_iterator Files::cbegin() const {
- return files.cbegin();
-}
-
-Files::const_iterator Files::cend() const {
- return files.cend();
-}
-
-void Files::emplace_back(const File& file) {
- files.emplace_back(file);
-}
-
-void Files::push_back(const File& file) {
- files.push_back(file);
-}
-
-void Files::pop_back() {
- files.pop_back();
-}
-
-Files& Files::operator=(const Files& other) {
- if (&other != this) {
- files = other.files;
- }
- return *this;
-}
-
-Files& Files::operator=(Files&& old) noexcept {
- if (&old != this) {
- files = std::move(old.files);
- }
- return *this;
-}
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/interceptor.cpp b/cpr-1.10.5/cpr/interceptor.cpp
deleted file mode 100644
index 72d1cab..0000000
--- a/cpr-1.10.5/cpr/interceptor.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#include "cpr/interceptor.h"
-
-#include
-
-namespace cpr {
-
-Response Interceptor::proceed(Session& session) {
- return session.proceed();
-}
-
-Response Interceptor::proceed(Session& session, ProceedHttpMethod httpMethod) {
- switch (httpMethod) {
- case ProceedHttpMethod::DELETE_REQUEST:
- return session.Delete();
- case ProceedHttpMethod::GET_REQUEST:
- return session.Get();
- case ProceedHttpMethod::HEAD_REQUEST:
- return session.Head();
- case ProceedHttpMethod::OPTIONS_REQUEST:
- return session.Options();
- case ProceedHttpMethod::PATCH_REQUEST:
- return session.Patch();
- case ProceedHttpMethod::POST_REQUEST:
- return session.Post();
- case ProceedHttpMethod::PUT_REQUEST:
- return session.Put();
- default:
- throw std::invalid_argument{"Can't proceed the session with the provided http method!"};
- }
-}
-
-Response Interceptor::proceed(Session& session, ProceedHttpMethod httpMethod, std::ofstream& file) {
- if (httpMethod == ProceedHttpMethod::DOWNLOAD_FILE_REQUEST) {
- return session.Download(file);
- }
- throw std::invalid_argument{"std::ofstream argument is only valid for ProceedHttpMethod::DOWNLOAD_FILE!"};
-}
-
-Response Interceptor::proceed(Session& session, ProceedHttpMethod httpMethod, const WriteCallback& write) {
- if (httpMethod == ProceedHttpMethod::DOWNLOAD_CALLBACK_REQUEST) {
- return session.Download(write);
- }
- throw std::invalid_argument{"WriteCallback argument is only valid for ProceedHttpMethod::DOWNLOAD_CALLBACK!"};
-}
-
-std::vector InterceptorMulti::proceed(MultiPerform& multi) {
- return multi.proceed();
-}
-
-void InterceptorMulti::PrepareDownloadSession(MultiPerform& multi, size_t sessions_index, const WriteCallback& write) {
- multi.PrepareDownloadSessions(sessions_index, write);
-}
-} // namespace cpr
\ No newline at end of file
diff --git a/cpr-1.10.5/cpr/multipart.cpp b/cpr-1.10.5/cpr/multipart.cpp
deleted file mode 100644
index d82d9a4..0000000
--- a/cpr-1.10.5/cpr/multipart.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "cpr/multipart.h"
-
-namespace cpr {
-Multipart::Multipart(const std::initializer_list& p_parts) : parts{p_parts} {}
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/multiperform.cpp b/cpr-1.10.5/cpr/multiperform.cpp
deleted file mode 100644
index e9e3f00..0000000
--- a/cpr-1.10.5/cpr/multiperform.cpp
+++ /dev/null
@@ -1,331 +0,0 @@
-#include "cpr/multiperform.h"
-
-#include "cpr/interceptor.h"
-#include "cpr/multipart.h"
-#include "cpr/response.h"
-#include "cpr/session.h"
-#include
-#include
-#include
-#include
-
-namespace cpr {
-
-MultiPerform::MultiPerform() : multicurl_(new CurlMultiHolder()) {}
-
-MultiPerform::~MultiPerform() {
- // Unlock all sessions
- for (const std::pair, HttpMethod>& pair : sessions_) {
- pair.first->isUsedInMultiPerform = false;
-
- // Remove easy handle from multi handle
- const CURLMcode error_code = curl_multi_remove_handle(multicurl_->handle, pair.first->curl_->handle);
- if (error_code) {
- std::cerr << "curl_multi_remove_handle() failed, code " << static_cast(error_code) << std::endl;
- return;
- }
- }
-}
-
-void MultiPerform::AddSession(std::shared_ptr& session, HttpMethod method) {
- // Check if this multiperform is download only
- if (((method != HttpMethod::DOWNLOAD_REQUEST && is_download_multi_perform) && method != HttpMethod::UNDEFINED) || (method == HttpMethod::DOWNLOAD_REQUEST && !is_download_multi_perform && !sessions_.empty())) {
- // Currently it is not possible to mix download and non-download methods, as download needs additional parameters
- throw std::invalid_argument("Failed to add session: Cannot mix download and non-download methods!");
- }
-
- // Set download only if neccessary
- if (method == HttpMethod::DOWNLOAD_REQUEST) {
- is_download_multi_perform = true;
- }
-
- // Add easy handle to multi handle
- const CURLMcode error_code = curl_multi_add_handle(multicurl_->handle, session->curl_->handle);
- if (error_code) {
- std::cerr << "curl_multi_add_handle() failed, code " << static_cast(error_code) << std::endl;
- return;
- }
-
- // Lock session to the multihandle
- session->isUsedInMultiPerform = true;
-
- // Add session to sessions_
- sessions_.emplace_back(session, method);
-}
-
-void MultiPerform::RemoveSession(const std::shared_ptr& session) {
- // Remove easy handle from multihandle
- const CURLMcode error_code = curl_multi_remove_handle(multicurl_->handle, session->curl_->handle);
- if (error_code) {
- std::cerr << "curl_multi_remove_handle() failed, code " << static_cast(error_code) << std::endl;
- return;
- }
-
- // Unock session
- session->isUsedInMultiPerform = false;
-
- // Remove session from sessions_
- auto it = std::find_if(sessions_.begin(), sessions_.end(), [&session](const std::pair, HttpMethod>& pair) { return session->curl_->handle == pair.first->curl_->handle; });
- if (it == sessions_.end()) {
- throw std::invalid_argument("Failed to find session!");
- }
- sessions_.erase(it);
-
- // Reset download only if empty
- if (sessions_.empty()) {
- is_download_multi_perform = false;
- }
-}
-
-std::vector, MultiPerform::HttpMethod>>& MultiPerform::GetSessions() {
- return sessions_;
-}
-
-const std::vector, MultiPerform::HttpMethod>>& MultiPerform::GetSessions() const {
- return sessions_;
-}
-
-void MultiPerform::DoMultiPerform() {
- // Do multi perform until every handle has finished
- int still_running{0};
- do {
- CURLMcode error_code = curl_multi_perform(multicurl_->handle, &still_running);
- if (error_code) {
- std::cerr << "curl_multi_perform() failed, code " << static_cast(error_code) << std::endl;
- break;
- }
-
- if (still_running) {
- const int timeout_ms{250};
- error_code = curl_multi_poll(multicurl_->handle, nullptr, 0, timeout_ms, nullptr);
- if (error_code) {
- std::cerr << "curl_multi_poll() failed, code " << static_cast(error_code) << std::endl;
- break;
- }
- }
- } while (still_running);
-}
-
-std::vector MultiPerform::ReadMultiInfo(std::function&& complete_function) {
- // Get infos and create Response objects
- std::vector responses;
- struct CURLMsg* info{nullptr};
- do {
- int msgq = 0;
-
- // Read info from multihandle
- info = curl_multi_info_read(multicurl_->handle, &msgq);
-
- if (info) {
- // Find current session
- auto it = std::find_if(sessions_.begin(), sessions_.end(), [&info](const std::pair, HttpMethod>& pair) { return pair.first->curl_->handle == info->easy_handle; });
- if (it == sessions_.end()) {
- std::cerr << "Failed to find current session!" << std::endl;
- break;
- }
- const std::shared_ptr current_session = (*it).first;
-
- // Add response object
- // NOLINTNEXTLINE (cppcoreguidelines-pro-type-union-access)
- responses.push_back(complete_function(*current_session, info->data.result));
- }
- } while (info);
-
- // Sort response objects to match order of added sessions
- std::vector sorted_responses;
- for (const std::pair, HttpMethod>& pair : sessions_) {
- Session& current_session = *(pair.first);
- auto it = std::find_if(responses.begin(), responses.end(), [¤t_session](const Response& response) { return current_session.curl_->handle == response.curl_->handle; });
- const Response current_response = *it;
- // Erase response from original vector to increase future search speed
- responses.erase(it);
- sorted_responses.push_back(current_response);
- }
-
- return sorted_responses;
-}
-
-std::vector MultiPerform::MakeRequest() {
- if (!interceptors_.empty()) {
- return intercept();
- }
-
- DoMultiPerform();
- return ReadMultiInfo([](Session& session, CURLcode curl_error) -> Response { return session.Complete(curl_error); });
-}
-
-std::vector MultiPerform::MakeDownloadRequest() {
- if (!interceptors_.empty()) {
- return intercept();
- }
-
- DoMultiPerform();
- return ReadMultiInfo([](Session& session, CURLcode curl_error) -> Response { return session.CompleteDownload(curl_error); });
-}
-
-void MultiPerform::PrepareSessions() {
- for (const std::pair, HttpMethod>& pair : sessions_) {
- switch (pair.second) {
- case HttpMethod::GET_REQUEST:
- pair.first->PrepareGet();
- break;
- case HttpMethod::POST_REQUEST:
- pair.first->PreparePost();
- break;
- case HttpMethod::PUT_REQUEST:
- pair.first->PreparePut();
- break;
- case HttpMethod::DELETE_REQUEST:
- pair.first->PrepareDelete();
- break;
- case HttpMethod::PATCH_REQUEST:
- pair.first->PreparePatch();
- break;
- case HttpMethod::HEAD_REQUEST:
- pair.first->PrepareHead();
- break;
- case HttpMethod::OPTIONS_REQUEST:
- pair.first->PrepareOptions();
- break;
- default:
- std::cerr << "PrepareSessions failed: Undefined HttpMethod or download without arguments!" << std::endl;
- return;
- }
- }
-}
-
-void MultiPerform::PrepareDownloadSession(size_t sessions_index, const WriteCallback& write) {
- const std::pair, HttpMethod>& pair = sessions_[sessions_index];
- switch (pair.second) {
- case HttpMethod::DOWNLOAD_REQUEST:
- pair.first->PrepareDownload(write);
- break;
- default:
- std::cerr << "PrepareSessions failed: Undefined HttpMethod or non download method with arguments!" << std::endl;
- return;
- }
-}
-
-void MultiPerform::PrepareDownloadSession(size_t sessions_index, std::ofstream& file) {
- const std::pair, HttpMethod>& pair = sessions_[sessions_index];
- switch (pair.second) {
- case HttpMethod::DOWNLOAD_REQUEST:
- pair.first->PrepareDownload(file);
- break;
- default:
- std::cerr << "PrepareSessions failed: Undefined HttpMethod or non download method with arguments!" << std::endl;
- return;
- }
-}
-
-void MultiPerform::SetHttpMethod(HttpMethod method) {
- for (std::pair, HttpMethod>& pair : sessions_) {
- pair.second = method;
- }
-}
-
-void MultiPerform::PrepareGet() {
- SetHttpMethod(HttpMethod::GET_REQUEST);
- PrepareSessions();
-}
-
-void MultiPerform::PrepareDelete() {
- SetHttpMethod(HttpMethod::DELETE_REQUEST);
- PrepareSessions();
-}
-
-void MultiPerform::PreparePut() {
- SetHttpMethod(HttpMethod::PUT_REQUEST);
- PrepareSessions();
-}
-
-void MultiPerform::PreparePatch() {
- SetHttpMethod(HttpMethod::PATCH_REQUEST);
- PrepareSessions();
-}
-
-void MultiPerform::PrepareHead() {
- SetHttpMethod(HttpMethod::HEAD_REQUEST);
- PrepareSessions();
-}
-
-void MultiPerform::PrepareOptions() {
- SetHttpMethod(HttpMethod::OPTIONS_REQUEST);
- PrepareSessions();
-}
-
-void MultiPerform::PreparePost() {
- SetHttpMethod(HttpMethod::POST_REQUEST);
- PrepareSessions();
-}
-
-std::vector MultiPerform::Get() {
- PrepareGet();
- return MakeRequest();
-}
-
-std::vector MultiPerform::Delete() {
- PrepareDelete();
- return MakeRequest();
-}
-
-std::vector MultiPerform::Put() {
- PreparePut();
- return MakeRequest();
-}
-
-std::vector MultiPerform::Head() {
- PrepareHead();
- return MakeRequest();
-}
-
-std::vector MultiPerform::Options() {
- PrepareOptions();
- return MakeRequest();
-}
-
-std::vector MultiPerform::Patch() {
- PreparePatch();
- return MakeRequest();
-}
-
-std::vector MultiPerform::Post() {
- PreparePost();
- return MakeRequest();
-}
-
-std::vector MultiPerform::Perform() {
- PrepareSessions();
- return MakeRequest();
-}
-
-std::vector MultiPerform::proceed() {
- // Check if this multiperform mixes download and non download requests
- if (!sessions_.empty()) {
- const bool new_is_download_multi_perform = sessions_.front().second == HttpMethod::DOWNLOAD_REQUEST;
-
- for (const std::pair, HttpMethod>& s : sessions_) {
- const HttpMethod method = s.second;
- if ((new_is_download_multi_perform && method != HttpMethod::DOWNLOAD_REQUEST) || (!new_is_download_multi_perform && method == HttpMethod::DOWNLOAD_REQUEST)) {
- throw std::invalid_argument("Failed to proceed with session: Cannot mix download and non-download methods!");
- }
- }
- is_download_multi_perform = new_is_download_multi_perform;
- }
-
- PrepareSessions();
- return MakeRequest();
-}
-
-std::vector MultiPerform::intercept() {
- // At least one interceptor exists -> Execute its intercept function
- const std::shared_ptr interceptor = interceptors_.front();
- interceptors_.pop();
- return interceptor->intercept(*this);
-}
-
-void MultiPerform::AddInterceptor(const std::shared_ptr& pinterceptor) {
- interceptors_.push(pinterceptor);
-}
-
-} // namespace cpr
\ No newline at end of file
diff --git a/cpr-1.10.5/cpr/parameters.cpp b/cpr-1.10.5/cpr/parameters.cpp
deleted file mode 100644
index a24c393..0000000
--- a/cpr-1.10.5/cpr/parameters.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "cpr/parameters.h"
-
-#include
-#include
-
-#include "cpr/util.h"
-
-namespace cpr {
-Parameters::Parameters(const std::initializer_list& parameters) : CurlContainer(parameters) {}
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/payload.cpp b/cpr-1.10.5/cpr/payload.cpp
deleted file mode 100644
index 78373fa..0000000
--- a/cpr-1.10.5/cpr/payload.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "cpr/payload.h"
-
-#include
-#include
-
-#include "cpr/util.h"
-
-namespace cpr {
-Payload::Payload(const std::initializer_list& pairs) : CurlContainer(pairs) {}
-} // namespace cpr
diff --git a/cpr-1.10.5/cpr/proxies.cpp b/cpr-1.10.5/cpr/proxies.cpp
deleted file mode 100644
index 0d3fe98..0000000
--- a/cpr-1.10.5/cpr/proxies.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "cpr/proxies.h"
-
-#include
-#include