Simple WSGI Websocket Server, Framework, Middleware And App
Project description
WSocket
Simple WSGI HTTP + Websocket Server, Framework, Middleware And App.
Note: I am a 16 years old student.I have no enough knowledge. So can anyone help me to develop this library?
Server
Server(WSGI) creates and listens at the HTTPsocket, dispatching the requests to a handler. WSGIRef server but uses threads to handle requests by using the ThreadingMixIn. This is useful to handle web browsers pre-opening sockets, on which Server would wait indefinitely. can used with any WSGI compatible web framework
Middleware
convert any WSGI compatible web framework to Websocket+HTTP framework using middleware. works with many WSGI compatible servers can used with any WSGI compatible web framework
Flask, Django, Pyramid, Bottle, ... supported
Handler
wsgiref.simple_server.WSGIRequestHandler
like class named FixedHandler
that always wrap WSGI app using Middleware.
changes from WSGIRequestHandler
:
- Prevents reverse DNS lookups
- errorless logger
- use
ServerHandler
to make it WSGI
You can convert wsgiref to a websocket+HTTP server using this handler
ServerHandler
wsgiref.simple_server.ServerHandler
(inherited from wsgiref.handlers.ServerHandler
like handler named FixedServerHandler
.
changes from ServerHandler
:
- set HTTP version to
1.1
because versions below1.1
are not supported some clients like Firefox. - removed hop-by-hop headers checker because it raise errors on
Upgrade
andConnection
headers - check that all headers are strings
Framework
basic WSGI web application framework that uses Middleware.
- simple routes handler
- auto description to status code
- headers checker
- send data as soon as possible
- send strings, bytes, lists(even bytes and strings mixed) or files directly
- error catcher and error logger
works with many WSGI compatible servers
App
Event based app for websocket communication. this is app that uses Framework if not events handled by developer. this app works like demo(echo) app.
Features
all Middleware, Handler, Framework and App has following features.
- websocket sub protocol supported
- websocket message compression supported (works if client asks)
- receive and send pong and ping messages(with automatic pong sender)
- receive and send binary or text messages
- works for messages with or without mask
- closing messages supported
- auto and manual close
View Documentaion - https://wsocket.gitbook.io/ Report Bugs - https://github.com/Ksengine/WSocket/issues/new/
License
Code and documentation are available according to the MIT License (see LICENSE).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file WSocket-2.0.0.tar.gz
.
File metadata
- Download URL: WSocket-2.0.0.tar.gz
- Upload date:
- Size: 24.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a10529117171655510ac2afd9657cb4b78aa02d17886538814ff3a3d19dbda6 |
|
MD5 | 1507bf9b111cc58594c4e55a76d72ad5 |
|
BLAKE2b-256 | 2d6ffaee8bb655c469e25f4ff2dd2853f4f9d8df1e8708726c215bcbf229b659 |
File details
Details for the file WSocket-2.0.0-py2.py3-none-any.whl
.
File metadata
- Download URL: WSocket-2.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34ca32521784788bba86cc17192236af38304847e93ac970919997dfae1f6967 |
|
MD5 | 4fb5fc7a4e71194730534857fa30cc5f |
|
BLAKE2b-256 | 32e2b58cd0657cd9a853cb2e700baef52612cf4533cf0aa60158fd86d6867b7f |