Py-dugong

Jul 20, 2023

HTTP 1.1 client module designed for RESTful protocols

The Python Dugong module provides an API for communicating with HTTP 1.1 servers. It is an alternative to the standard library’s http.client formerly httplib module. In contrast to http.client, Dugong

  • allows you to send multiple requests right after each other without having to read the responses first.
  • supports waiting for 100-continue before sending the request body.
  • raises an exception instead of silently delivering partial data if the connection is closed before all data has been received.
  • raises one specific exception ConnectionClosed if the connection has been closed while http.client connection may raise any of BrokenPipeError, BadStatusLine, ConnectionAbortedError, ConnectionResetError, IncompleteRead or simply return ‘’ on read
  • supports non-blocking, asynchronous operation and is compatible with the asyncio module.
  • can in most cases distinguish between an unavailable DNS server and an unresolvable hostname.
  • is not compatible with old HTTP 0.9 or 1.0 servers.

All request and response headers are represented as str, but must be encodable in latin1. Request and response body must be bytes-like objects or binary streams.



Checkout these related ports:
  • Zyre - Framework for proximity-based peer-to-peer applications
  • Zsync - File transfer program
  • Zmap - Internet scanner
  • Zillion - Distributed computing project
  • Zerotier - Network virtualization everywhere
  • Zebra-server - Z39.50/SR server software
  • Yptransitd - Replacement for nss_ldap
  • Yggdrasil - Experimental end-to-end encrypted self-arranging IPv6 network
  • Yconalyzer - TCP Traffic Analyzer
  • Yazproxy - Powerful general purpose Z39.50/SRW/SRU proxy
  • Yaz - Z39.50/SR client and API library
  • Yaz++ - C++ toolkit for development of Z39.50v3 clients and servers
  • Yate - Yet Another Telephony Engine
  • Yaph - Yet Another Proxy Hunter (proxy scanner)
  • Yami4 - Messaging library for distributed systems