commit | 272dba83073e93870bcd8ea566d1af7818de9c52 | [log] [tgz] |
---|---|---|
author | Andy Green <andy@warmcat.com> | Thu Jun 17 10:07:04 2021 +0100 |
committer | Andy Green <andy@warmcat.com> | Tue Jun 22 15:55:29 2021 +0100 |
tree | 3ee1fd0574ec028a2a30a8bcbdf0cc15ed79a91a | |
parent | 2f9bb7a30afd505935959664bf90c13bcb569a45 [diff] |
http: redo redirects to follow close flow Until now although we can follow redirects, and they can promote the protocol from h1->h2, we couldn't handle h2 wsi reuse since there are many states in the wsi affected by being h2. This wipes the related states in lws_wsi_reset() and follows the generic wsi close flow before deviating into the redirect really close to the end, ensuring we cleaned out evidence of our previous life properly. h2->h2 redirects work properly after this. The max number of redirects is increased from 3 -> 4 since this was seen in the wild with www and then geographic-based redirects.
Libwebsockets is a simple-to-use, MIT-license, pure C library providing client and server for http/1, http/2, websockets, MQTT and other protocols in a security-minded, lightweight, configurable, scalable and flexible way. It's easy to build and cross-build via cmake and is suitable for tasks from embedded RTOS through mass cloud serving.
80+ independent minimal examples for various scenarios, CC0-licensed (public domain) for cut-and-paste, allow you to get started quickly.
There are a lot of READMEs on a variety of topics.
We do a huge amount of CI testing per push, currently 495 builds on 27 platforms.
If you're interested in ws + h.264, there's a 80-90% complete minimal example that needs help with the mp4 container part, the lws v4l2 integration, MPJPG->h.264 transcoding and ws transport to MediaSource parts already work.
Take a look at the top two patches on _v4l2
branch and post on the mailing list or github to discuss if you can help.
See the changelog
The master->main branch transition happened several months ago, currently master is still around as a mirror of main. master branch will go away some time before the next release.
This is the libwebsockets C library for lightweight websocket clients and servers. For support, visit
and consider joining the project mailing list at
https://libwebsockets.org/mailman/listinfo/libwebsockets
You can get the latest version of the library from git:
Doxygen API docs for development: https://libwebsockets.org/lws-api-doc-master/html/index.html