nim-chronos/chronos/apps/http/httpagent.nim
Eugene Kabanov be184a815c
Httpclient (#182)
* Initial commit.

* Some refactoring.

* Allow boundstream to accept uint64.
Fix httpserver and asyncstream tests to follow new uint64 requirement.

* send() and getBodyBytes() implementations.

* Add closeWait for response and request.
Refactor finish/close flow.

* Changes in state machine
Add first test.

* Missing test file.

* Fixed tests
Add http leaking trackers and tests.

* Some fixes in multipart.
Fix automatic Content-Length header for requests with body.
Fix getBodyBytes() assertions.
Merging tests to main suite.

* Post rebase fixes.

* Fix tests big message generation.

* Fix response state management and leaks for getBodyXXX() procedures.

* Add redirection support to client and server.
Add fetch(url) procedure with redirection support.
Add tests for redirection.
2021-05-10 10:26:36 +03:00

25 lines
876 B
Nim

#
# Chronos HTTP/S client implementation
# (c) Copyright 2021-Present
# Status Research & Development GmbH
#
# Licensed under either of
# Apache License, version 2.0, (LICENSE-APACHEv2)
# MIT license (LICENSE-MIT)
import strutils
const
ChronosName* = "nim-chronos"
## Project name string
ChronosMajor* {.intdefine.}: int = 3
## Major number of Chronos' version.
ChronosMinor* {.intdefine.}: int = 0
## Minor number of Chronos' version.
ChronosPatch* {.intdefine.}: int = 2
## Patch number of Chronos' version.
ChronosVersion* = $ChronosMajor & "." & $ChronosMinor & "." & $ChronosPatch
## Version of Chronos as a string.
ChronosIdent* = "$1/$2 ($3/$4)" % [ChronosName, ChronosVersion, hostCPU,
hostOS]
## Project ident name for networking services