Skip to content

Instantly share code, notes, and snippets.

@ramiro
Last active April 20, 2019 00:35
Show Gist options
  • Save ramiro/10e986e4f799f091bb8f45289c9f14a6 to your computer and use it in GitHub Desktop.
Save ramiro/10e986e4f799f091bb8f45289c9f14a6 to your computer and use it in GitHub Desktop.
@startuml
' See https://twitter.com/ramiromorales/status/1119372123603128320
' and
' http://www.plantuml.com/plantuml/uml/fLHDZzCm4BtdL_W8XutWmAK2QGK7TWz8Arg9epLh3ucfOuSPX_91_piXhfZKIbHMlKHovkEzUVFiMqv0QUXynNiNUY3eL0zc3mrkqm-FYj0a28t7gdKMbN5aF5PLW0vvJ4J5qUmnCT8t9FMhKkejC7x4hmDokeDWFP9w_VlcHcqJ8NJdaLFwTghEQRjt3_aunem7vkcFj5SAl8y7JJWmQh2Ma7cZ7cFqwetQqO1J4cKSFNu7rEn-uaQvaCQKLsFyACrRGh0kD1_Sz_jG7UUZjIdrjKoMAoR2TxlTGp5ZvcPyPDGcXe0ckHWoiIdKJedFdiyEEWRK9wPZ8FEQ2rgNeecSYpH4j37qHDKMq4Nv2L9wLaeEEIX2Ik1SpGCtZl1pdKSdBYKjT4G8GwzR18l4_yJ9cNDNkQxt-TSQ84yfcij5PfA2ExVDYUH6VTg-loyapapASMfX8kG4GLPJjXJm1OVGHfe8-DoPTMc46O45gA9ObYK5IykpNo0qiJQHy5JAzICm_kqbaahvHTTTkAGlNynbBfTO2qv9kxZOQ2Lq_U9NZBdECoDTuubh7fJBFbfNzx_TLAnYKVVYLJbxSbUhZjKj1Zjq_Wy0
' and
' http://www.plantuml.com/plantuml/uml/fLGzZzGm4EtpArn2SH4KD2kGJb1mLo2Ts9KehJbxICmwTl0u71_iVoVOgqpM8GgdQrRhl1c_vpVFlgO88GwThUXeN0y1Ej63EaA3-_Z3eWYe8hZ6OjKQZKAPeCR_bOCEQIn4GLuTCHA6RnZ4hqg8jq3u4RyEIF46dBOOnElVLrTY7mD2TucSo_UfEvSTtjtbvOWf2qJy9Mql15Zh7sJ0WL22rW69TkBUUolUY4COC1M5p2F7tm4bcP-u4yR5iUJLY9zuypOWQEEQ3-RxhQjEywErCVOrdont9C4tXyDTSSQiJLbFA9Lt3bKqtcLX2MfJuRFdiuNq3kLPwGXaNND3wy8qjdD5ngHoX1xjseATdK-Kl6Sbye91DfA1IpSVg341FzTjLagbfOMF26xePOkWCT1aJgwSfyfqlSsVrWWfbSZ58BD8vft7vYno9pxjtzyM5cSbvN5gLiBYc857Ksx9v1DfqJT1amspPDRB8B209LNHpCFYXdyDJty1r_XQ-O3dLghlWV3lNcmfjs-cRkEIldp1DY-7M3DFARkusAWNaZHWvvsC2L_UWQV6OpM-wwV9J4z9plgpinsgxHTfVGR_dRboOClfb6_FvSEysdMghj7feRD_0000
skinparam packageStyle rectangle
hide circle
namespace socketserver {
BaseRequestHandler <|-- StreamRequestHandler
BaseServer <|-- TCPServer
class TCPServer {
allow_reuse_address: bool = True
request_queue_size: int = 5
}
class ThreadingMixIn
}
namespace http.server {
class BaseHTTPRequestHandler {
close_connection: bool
handle()
handle_one_request()
}
socketserver.StreamRequestHandler <|-- BaseHTTPRequestHandler
class HTTPServer {
allow_reuse_address: bool = True
}
socketserver.TCPServer <|-- HTTPServer
HTTPServer <|-- ThreadingHTTPServer
}
namespace wsgiref.handlers {
class BaseHandler {
cleanup_headers()
}
BaseHandler <|-- SimpleHandler
}
namespace wsgiref.simple_server {
class ServerHandler {
request_handler: WSGIRequestHandler
}
wsgiref.handlers.SimpleHandler <|-- ServerHandler
class WSGIRequestHandler {
handler: ServerHandler
handle()
}
http.server.BaseHTTPRequestHandler <|-- WSGIRequestHandler
http.server.HTTPServer <|-- WSGIServer
}
namespace django.core.servers.basehttp {
class WSGIServer {
allow_reuse_address: bool
request_queue_size: int = 10
}
wsgiref.simple_server.WSGIServer <|-- WSGIServer
class ThreadedWSGIServer
class ServerHandler {
request_handler: WSGIRequestHandler
cleanup_headers()
}
wsgiref.simple_server.ServerHandler <|-- ServerHandler
class WSGIRequestHandler {
close_connection: bool
handler: ServerHandler
handle()
handle_one_request()
}
wsgiref.simple_server.WSGIRequestHandler <|-- WSGIRequestHandler
WSGIServer <|-- ThreadedWSGIServer
socketserver.ThreadingMixIn <|-- ThreadedWSGIServer
}
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment