Giter VIP home page Giter VIP logo

winasio's Issues

Migrate to http api version 2

More details: https://learn.microsoft.com/en-us/windows/win32/http/versioning-in-http-2-0

  • Migrate HttpAddUrl
    Currently winasio is using HttpAddUrl:
HTTPAPI_LINKAGE ULONG HttpAddUrl(
  [in] HANDLE RequestQueueHandle,
  [in] PCWSTR FullyQualifiedUrl,
       PVOID  Reserved
);

but https://learn.microsoft.com/en-us/windows/win32/api/http/nf-http-httpaddurl
says

Starting with HTTP Server API Version 2.0, applications should call [HttpAddUrlToUrlGroup](https://learn.microsoft.com/en-us/windows/desktop/api/http/nf-http-httpaddurltourlgroup) to register a URL; HttpAddUrl should not be used.

Design finalize http.sys high level api

http_connection, winnet::http::simple_request and winnet::http::simple_response are exposed for ease of use for a server application.
Currently http server to user logic is handled by a handler function:

auto handler = [](const winnet::http::simple_request &request,

We need to improve and finalize this API.

One example of high level API is this: https://github.com/nghttp2/nghttp2-asio
https://www.nghttp2.org/documentation/libnghttp2_asio.html

Macro out logs

There are various debug boost log lines all across the implementation files, and it is useful for debugging while developing this lib.
When doing benchmarks, such logs may degrade performance even though the log filter is specified.

So debugs should be macro-ed out our wrapped in #ifdef lines.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.