Skip to content

Separate http into a completely separate folder (aiming to make a lib and to be installable by Conan) #16

Description

@nobugs-hare

To be easily usable, we have to provide package manager (in our case - Conan).

Our principles of working with Conan:

  • each package consists of a COMPLETELY SEPARATE set of IMMUTABLE files (this is EXTREMELY IMPORTANT)
  • each package is either (a) header-only, OR (b) is a static library (in CMake sense)
  • for each deployment scenario, we have a minimal package with "core" in its name ("core" includes the absolute minimum - but including memory safety, exceptions/asserts, and logging); in some cases, the same Conan may also include some other APIs (those which are too tightly coupled to separate at lib level).
    • for "server-side deployment" scenario, minimal package is "net-core" package.
  • each of non-core packages MUST include a special file with "allowed APIs" for static checker; this allows, say, to have 'logging' package which uses files but does NOT expose file API to the next-level package, reducing dependency levels.

http is a good first example to show "how do we separate our packages". Make sure that ALL internal logging/tracing/asserting refers to 'nodecpp.http' module

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions