okhttp-fork icon indicating copy to clipboard operation
okhttp-fork copied to clipboard

OkHttp fork for C++

OkHttp fork for C++ License

master dev (current)
Travis CI Build status Build status
AppVeyor Build status Build status
Codecov Codecov master Codecov branch

Overview

  • Used libraries
  • Supported compilers
  • Installation
  • CMake options
  • Components
  • License

Used libraries

Compilers

You can use any compiler that support full C++11 standard. These were tested by me and CI:

  • GCC >= 5
  • MSVC >= 2015
  • MinGW (7.2.0)
  • Clang (3.8 and Travis CI default version)

These compilers were tested and aren't supported:

  • GCC 4.9.2 (issue: std::get_time)
  • MSVC 2013 (issue: noexcept)

Installation

git clone --recursive https://github.com/Good-Pudge/okhttp-fork.git
cd okhttp-fork
mkdir build
cd build
cmake ..
cmake --build . --target install

CMake options

  • CMAKE_INSTALL_PREFIX - installation path that contain include/ohf and lib
  • BUILD_SHARED_LIBS (default: OFF) - build library as shared.
  • BUILD_TESTING (default: OFF) - build executable for tests.
  • BUILD_EXAMPLES (default: OFF) - build executables of examples.
  • ENABLE_DTLS (default: OFF, as WIP) - access to use DTLS components.

Original library components

  • [x] Address
  • [ ] Authenticator
  • [ ] Cache
  • [x] CacheControl
    • [x] Builder
  • [x] Call
    • [x] Factory
  • [x] Callback
  • [ ] CertificatePinner
    • [ ] Builder
  • [ ] Connection
  • [ ] ConnectionPool
  • [ ] ConnectionSpec
    • [ ] Builder
  • [x] Cookie
    • [x] Builder
  • [x] CookieJar
  • [ ] Credentials
  • [ ] Dispatcher
  • [x] DNS
  • [ ] EventListener
    • [ ] Factory
  • [x] FormBody
    • [x] Builder
  • [ ] Handshake
  • [x] Headers
    • Iterator
    • [x] Builder
  • [x] HttpURL
    • [x] Builder
  • [ ] Interceptor
    • [ ] Chain
  • [x] MediaType
  • [x] MultipartBody
    • [x] Builder
    • [x] Part
  • [ ] Client
    • [ ] Builder
  • [x] Protocol
  • [x] Request
    • [x] Builder
  • [x] RequestBody
  • [x] Response
    • [x] Builder
  • [x] ResponseBody
    • StreamBuf
  • [ ] Route
  • [x] WebSocket
    • [x] Factory
    • [x] Listener

Additional and moved components:

  • namespace ssl
    • Context
    • Initializer
    • Socket
    • SSL
    • Challenge
    • CipherSuite
    • Exception
  • namespace tcp
    • Server
      • Connection
      • Iterator
    • Socket
      • StreamBuf
    • SSLServer (extends Server)
    • SSLSocket (extends Socket)
  • namespace udp
    • Socket
  • IOStreamBuf
  • InetAddress
  • TimeUnit
  • Exception

License

OkHttp fork distribute with an Apache 2.0 License. See LICENSE.md and NOTICE.md for more info.