gregoryv/draw

View on GitHub
design/showcase/nethttp.svg

Summary

Maintainability
Test Coverage
<svg
  xmlns="http://www.w3.org/2000/svg"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  font-family="Arial,Helvetica,sans-serif" width="564" height="468">
<path stroke="black" d="M374,191 L322,177" />
<g transform="rotate(195 374 191)"><path stroke="black" fill="#777777" d="M374,191 l 6,-4 6,4 -6,4 -6,-4" /></g>
<g transform="rotate(285 322 177)"><path stroke="black" fill="#ffffff" d="M318,185 l4,-8 l 4,8 Z" /></g>

<path stroke="black" stroke-dasharray="5,5,5" d="M255,216 L255,186" />
<g transform="rotate(0 255 186)"><path stroke="black" fill="#ffffff" d="M251,194 l4,-8 l 4,8 Z" /></g>

<rect stroke="#d3d3d3" fill="#ffffff" x="20" y="20" width="117" height="26"/>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="26" y="36">http.Request struct</text>
<rect stroke="#d3d3d3" fill="#ffffff" x="167" y="20" width="177" height="84"/>
<path stroke="#d3d3d3" d="M167,46 L344,46" />
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="173" y="62">Header()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="173" y="78">Write()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="173" y="94">WriteHeader()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="173" y="36">http.ResponseWriter interface</text>
<rect stroke="#d3d3d3" fill="#ffffff" x="189" y="134" width="133" height="52"/>
<path stroke="#d3d3d3" d="M189,160 L322,160" />
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="195" y="176">ServeHTTP()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="195" y="150">http.Handler interface</text>
<rect stroke="#d3d3d3" fill="#ffffff" x="192" y="216" width="126" height="84"/>
<path stroke="#d3d3d3" d="M192,242 L318,242" />
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="198" y="258">Handle()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="198" y="274">HandleFunc()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="198" y="290">Handler()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="198" y="232">http.ServeMux struct</text>
<rect stroke="#d3d3d3" fill="#ffffff" x="374" y="20" width="188" height="394"/>
<path stroke="#d3d3d3" d="M374,46 L562,46" />
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="62">Addr</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="78">Handler</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="94">DisableGeneralOptionsHandler</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="110">TLSConfig</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="126">ReadTimeout</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="142">ReadHeaderTimeout</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="158">WriteTimeout</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="174">IdleTimeout</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="190">MaxHeaderBytes</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="206">TLSNextProto</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="222">ConnState</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="238">ErrorLog</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="254">BaseContext</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="270">ConnContext</text>
<path stroke="#d3d3d3" d="M374,276 L562,276" />
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="292">Close()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="308">ListenAndServe()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="324">ListenAndServeTLS()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="340">RegisterOnShutdown()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="356">Serve()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="372">ServeTLS()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="388">SetKeepAlivesEnabled()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="404">Shutdown()</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="380" y="36">http.Server struct</text>
<text font-family="Arial,Helvetica,sans-serif" font-size="12px" x="153" y="461">Figure 1. ServeMux routes requests to handlers</text></svg>