<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="800px"
   height="600px"
   id="svg2650"
   sodipodi:version="0.32"
   inkscape:version="0.46"
   sodipodi:docname="rack-1.svg"
   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   inkscape:export-filename="/home/wbzyl/public_git/forks/seminarium/lib/public/images/rack-1.png"
   inkscape:export-xdpi="90"
   inkscape:export-ydpi="90">
  <defs
     id="defs2652">
    <marker
       inkscape:stockid="Arrow2Mend"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="Arrow2Mend"
       style="overflow:visible;">
      <path
         id="path9723"
         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
         transform="scale(0.6) rotate(180) translate(0,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Mend"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="Arrow1Mend"
       style="overflow:visible;">
      <path
         id="path9705"
         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
         transform="scale(0.4) rotate(180) translate(10,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="Arrow2Lend"
       style="overflow:visible;">
      <path
         id="path9717"
         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
         transform="scale(1.1) rotate(180) translate(1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Lend"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="Arrow1Lend"
       style="overflow:visible;">
      <path
         id="path9699"
         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
         transform="scale(0.8) rotate(180) translate(12.5,0)" />
    </marker>
    <inkscape:perspective
       sodipodi:type="inkscape:persp3d"
       inkscape:vp_x="0 : 300 : 1"
       inkscape:vp_y="0 : 1000 : 0"
       inkscape:vp_z="800 : 300 : 1"
       inkscape:persp3d-origin="400 : 200 : 1"
       id="perspective2658" />
    <filter
       inkscape:collect="always"
       id="filter3714">
      <feGaussianBlur
         inkscape:collect="always"
         stdDeviation="5.5753427"
         id="feGaussianBlur3716" />
    </filter>
    <filter
       inkscape:collect="always"
       id="filter3376">
      <feGaussianBlur
         inkscape:collect="always"
         stdDeviation="2.8013796"
         id="feGaussianBlur3378" />
    </filter>
  </defs>
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="0.79833333"
     inkscape:cx="406.47839"
     inkscape:cy="350.10439"
     inkscape:current-layer="layer1"
     inkscape:document-units="px"
     showgrid="true"
     inkscape:window-width="1184"
     inkscape:window-height="700"
     inkscape:window-x="13"
     inkscape:window-y="25"
     guidetolerance="5"
     gridtolerance="5">
    <inkscape:grid
       type="xygrid"
       id="grid11947"
       visible="true"
       enabled="true"
       empspacing="10" />
  </sodipodi:namedview>
  <metadata
     id="metadata2655">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     id="layer1"
     inkscape:label="Layer 1"
     inkscape:groupmode="layer">
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.06599999999999984;stroke-linecap:butt;stroke-linejoin:round;marker-start:url(#Arrow2Mend);marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3376)"
       d="M 91.826389,60.416354 C 780.03958,60.416354 780.03958,60.416354 780.03958,60.416354 L 780.03958,460.34238 L 91.826389,460.34238"
       id="path11949" />
    <g
       id="g3718"
       transform="matrix(0.7110556,0,0,1.5522849,212.7008,-151.95971)"
       style="opacity:0.90988375;fill:#aa4400;fill-opacity:1">
      <rect
         y="161.66667"
         x="120"
         height="268.33334"
         width="136.66667"
         id="rect2660"
         style="opacity:0.83656509;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3714)" />
      <rect
         style="opacity:1;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
         id="rect2662"
         width="136.66667"
         height="268.33334"
         x="105"
         y="151.66669"
         rx="10"
         ry="10" />
    </g>
    <g
       id="g3722"
       transform="matrix(0.7110556,0,0,1.5522849,454.45971,-151.95971)"
       style="opacity:0.90988375;fill:#aa4400;fill-opacity:1">
      <rect
         style="opacity:0.83656509;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3714)"
         id="rect3724"
         width="136.66667"
         height="268.33334"
         x="120"
         y="161.66667" />
      <rect
         y="151.66669"
         x="105"
         height="268.33334"
         width="136.66667"
         id="rect3726"
         style="opacity:1;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
         rx="10"
         ry="10" />
    </g>
    <g
       id="g3728"
       transform="matrix(0.7110556,0,0,1.5522849,333.58026,-151.95971)"
       style="opacity:0.90988375;fill:#aa4400;fill-opacity:1"
       inkscape:export-filename="/home/wbzyl/public_git/projects/seminarium/lib/public/images/rack-1.png"
       inkscape:export-xdpi="90"
       inkscape:export-ydpi="90">
      <rect
         y="161.66667"
         x="120"
         height="268.33334"
         width="136.66667"
         id="rect3730"
         style="opacity:0.83656509;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3714)" />
      <rect
         style="opacity:1;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
         id="rect3732"
         width="136.66667"
         height="268.33334"
         x="105"
         y="151.66669"
         rx="10"
         ry="10" />
    </g>
    <g
       transform="matrix(0.7110556,0,0,1.5522849,575.33916,-151.95971)"
       id="g3734"
       style="opacity:0.90988375;fill:#552200;fill-opacity:1">
      <rect
         y="161.66667"
         x="120"
         height="268.33334"
         width="136.66667"
         id="rect3736"
         style="opacity:0.83656509;fill:#552200;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3714)" />
      <rect
         style="opacity:1;fill:#552200;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
         id="rect3738"
         width="136.66667"
         height="268.33334"
         x="105"
         y="151.66669"
         rx="10"
         ry="10" />
    </g>
    <text
       xml:space="preserve"
       style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans"
       x="660"
       y="548.74738"
       id="text15119"><tspan
         sodipodi:role="line"
         id="tspan15121"
         x="660"
         y="548.74738">moduł</tspan></text>
    <text
       xml:space="preserve"
       style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans"
       x="375"
       y="550"
       id="text15123"><tspan
         sodipodi:role="line"
         id="tspan15125"
         x="375"
         y="550">middleware</tspan></text>
    <text
       xml:space="preserve"
       style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans"
       x="60"
       y="120"
       id="text15127"><tspan
         sodipodi:role="line"
         id="tspan15129"
         x="60"
         y="120">żądanie HTTP</tspan></text>
    <text
       xml:space="preserve"
       style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans"
       x="60"
       y="420"
       id="text15131"><tspan
         sodipodi:role="line"
         id="tspan15133"
         x="60"
         y="420">odpowiedź HTTP</tspan></text>
    <text
       xml:space="preserve"
       style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans"
       x="88.294312"
       y="531.77258"
       id="text15135"><tspan
         sodipodi:role="line"
         id="tspan15137"
         x="88.294312"
         y="531.77258" /></text>
    <text
       xml:space="preserve"
       style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#2b0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans"
       x="520"
       y="240"
       id="text2423"><tspan
         sodipodi:role="line"
         id="tspan2425"
         x="520"
         y="240">Rack::Lint</tspan></text>
    <text
       xml:space="preserve"
       style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffd42a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans"
       x="580"
       y="200"
       id="text2427"><tspan
         sodipodi:role="line"
         id="tspan2429"
         x="580"
         y="200">MyRackApp.new</tspan></text>
    <text
       xml:space="preserve"
       style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans"
       x="400"
       y="280"
       id="text2431"><tspan
         sodipodi:role="line"
         id="tspan2433"
         x="400"
         y="280">Rack::ShowExceptions</tspan></text>
    <text
       xml:space="preserve"
       style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans"
       x="288.89352"
       y="320"
       id="text2435"><tspan
         sodipodi:role="line"
         id="tspan2437"
         x="288.89352"
         y="320">Rack::CommonLogger</tspan></text>
    <g
       id="g3380">
      <path
         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.06599998;stroke-linecap:butt;stroke-linejoin:round;marker-start:url(#Arrow2Mend);marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
         d="M 91.78681,60.073976 C 780,60.073976 780,60.073976 780,60.073976 L 780,460 L 91.78681,460"
         id="path3330" />
    </g>
  </g>
</svg>