<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1443.75px" preserveAspectRatio="none" style="width:981px;height:1443px;" version="1.1" viewBox="0 0 981 1443" width="981.25px" zoomAndPan="magnify"><defs/><g><rect fill="#EEEEEE" height="156.25" rx="39.0625" ry="39.0625" style="stroke: #333333; stroke-width: 4.6875;" width="406.25" x="190.625" y="25"/><line style="stroke: #333333; stroke-width: 4.6875;" x1="190.625" x2="596.875" y1="115.8295" y2="115.8295"/><text fill="#000000" font-family="Noto Sans" font-size="43.75" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="343.75" x="221.875" y="87.3871">StatusLineOpen</text><rect fill="#EEEEEE" height="156.25" rx="39.0625" ry="39.0625" style="stroke: #333333; stroke-width: 4.6875;" width="356.25" x="215.625" y="434.375"/><line style="stroke: #333333; stroke-width: 4.6875;" x1="215.625" x2="571.875" y1="525.2045" y2="525.2045"/><text fill="#000000" font-family="Noto Sans" font-size="43.75" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="293.75" x="246.875" y="496.7621">HeadersOpen</text><rect fill="#EEEEEE" height="156.25" rx="39.0625" ry="39.0625" style="stroke: #333333; stroke-width: 4.6875;" width="287.5" x="250" y="843.75"/><line style="stroke: #333333; stroke-width: 4.6875;" x1="250" x2="537.5" y1="934.5795" y2="934.5795"/><text fill="#000000" font-family="Noto Sans" font-size="43.75" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="225" x="281.25" y="906.1371">BodyOpen</text><rect fill="#EEEEEE" height="156.25" rx="39.0625" ry="39.0625" style="stroke: #333333; stroke-width: 4.6875;" width="403.125" x="192.1875" y="1253.125"/><line style="stroke: #333333; stroke-width: 4.6875;" x1="192.1875" x2="595.3125" y1="1343.9545" y2="1343.9545"/><text fill="#000000" font-family="Noto Sans" font-size="43.75" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="340.625" x="223.4375" y="1315.5121">ResponseEnded</text><ellipse cx="50" cy="103.125" fill="#000000" rx="31.25" ry="31.25" style="stroke: none; stroke-width: 3.125;"/><ellipse cx="737.5" cy="1331.25" fill="none" rx="31.25" ry="31.25" style="stroke: #000000; stroke-width: 3.125;"/><ellipse cx="739.0625" cy="1332.8125" fill="#000000" rx="18.75" ry="18.75" style="stroke: none; stroke-width: 3.125;"/><!--link *start to StatusLineOpen--><path d="M82.2266,103.125 C112.9688,103.125 143.7113,103.125 174.4534,103.125 " fill="none" id="*start-StatusLineOpen" style="stroke: #333333; stroke-width: 3.125;"/><polygon fill="#333333" points="190.5297,103.125,162.4047,90.625,174.9047,103.125,162.4047,115.625,190.5297,103.125" style="stroke: #333333; stroke-width: 3.125;"/><!--link StatusLineOpen to HeadersOpen--><path d="M393.75,182.075 C393.75,249.0781 393.75,346.95 393.75,418.2063 " fill="none" id="StatusLineOpen-HeadersOpen" style="stroke: #333333; stroke-width: 3.125;"/><polygon fill="#333333" points="393.75,433.8906,406.25,405.7656,393.75,418.2656,381.25,405.7656,393.75,433.8906" style="stroke: #333333; stroke-width: 3.125;"/><text fill="#000000" font-family="Noto Sans" font-size="43.75" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="221.875" x="396.875" y="324.8871">writeStatus</text><!--link HeadersOpen to HeadersOpen--><path d="M572.0313,475.0031 C632.5813,474.8063 681.25,487.3063 681.25,512.5 C681.25,535.3344 641.2781,547.7406 588.7188,549.7188 " fill="none" id="HeadersOpen-HeadersOpen" style="stroke: #333333; stroke-width: 3.125;"/><polygon fill="#333333" points="572.0313,549.9969,600.363,562.0209,587.654,549.7334,599.9415,537.0245,572.0313,549.9969" style="stroke: #333333; stroke-width: 3.125;"/><text fill="#000000" font-family="Noto Sans" font-size="43.75" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="243.75" x="700" y="529.5746">writeHeader</text><!--link HeadersOpen to BodyOpen--><path d="M393.75,591.45 C393.75,658.4531 393.75,756.325 393.75,827.5813 " fill="none" id="HeadersOpen-BodyOpen" style="stroke: #333333; stroke-width: 3.125;"/><polygon fill="#333333" points="393.75,843.2656,406.25,815.1406,393.75,827.6406,381.25,815.1406,393.75,843.2656" style="stroke: #333333; stroke-width: 3.125;"/><text fill="#000000" font-family="Noto Sans" font-size="43.75" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="259.375" x="396.875" y="734.2621">closeHeaders</text><!--link BodyOpen to BodyOpen--><path d="M538.1438,884.6531 C597.125,882.3187 646.875,894.725 646.875,921.875 C646.875,946.4781 606.0156,958.975 554.4563,959.3656 " fill="none" id="BodyOpen-BodyOpen" style="stroke: #333333; stroke-width: 3.125;"/><polygon fill="#333333" points="538.1438,959.0969,566.0614,972.0533,553.7667,959.3514,566.4686,947.0566,538.1438,959.0969" style="stroke: #333333; stroke-width: 3.125;"/><text fill="#000000" font-family="Noto Sans" font-size="43.75" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="90.625" x="665.625" y="938.9496">send</text><!--link BodyOpen to ResponseEnded--><path d="M393.75,1000.825 C393.75,1067.8281 393.75,1165.7 393.75,1236.9547 " fill="none" id="BodyOpen-ResponseEnded" style="stroke: #333333; stroke-width: 3.125;"/><polygon fill="#333333" points="393.75,1252.6403,406.25,1224.5153,393.75,1237.0153,381.25,1224.5153,393.75,1252.6403" style="stroke: #333333; stroke-width: 3.125;"/><text fill="#000000" font-family="Noto Sans" font-size="43.75" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="71.875" x="396.875" y="1143.6371">end</text><!--link ResponseEnded to *end--><path d="M596.5094,1331.25 C627.4625,1331.25 658.4156,1331.25 689.3688,1331.25 " fill="none" id="ResponseEnded-*end" style="stroke: #333333; stroke-width: 3.125;"/><polygon fill="#333333" points="705.5563,1331.25,677.4313,1318.75,689.9313,1331.25,677.4313,1343.75,705.5563,1331.25" style="stroke: #333333; stroke-width: 3.125;"/><!--
@startuml
hide circle

skinparam dpi 300

skinparam shadowing false

skinparam defaultFontSize 14
skinparam defaultFontName Noto Sans

skinparam class {
  BackgroundColor #eeeeee
  ArrowColor #333333
  BorderColor #333333
}

skinparam state {
  BackgroundColor #eeeeee
  BorderColor #333333
  FontStyle bold
}

skinparam arrow {
  FontStyle italic
  ArrowColor #333333
}

state StatusLineOpen
state HeadersOpen
state BodyOpen
state ResponseEnded

[*] -right-> StatusLineOpen
StatusLineOpen - -> HeadersOpen : writeStatus
HeadersOpen - -> HeadersOpen : writeHeader
HeadersOpen - -> BodyOpen : closeHeaders
BodyOpen - -> BodyOpen : send
BodyOpen - -> ResponseEnded : end
ResponseEnded -right-> [*]

@enduml

PlantUML version 1.2017.16(Sun Sep 03 12:53:37 CEST 2017)
(GPL source distribution)
Java Runtime: Java(TM) SE Runtime Environment
JVM: Java HotSpot(TM) 64-Bit Server VM
Java Version: 9+181
Operating System: Linux
OS Version: 4.10.0-38-generic
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>