163 lines
77 KiB
HTML
163 lines
77 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" dir="ltr"
|
|
xmlns:dc="http://purl.org/dc/terms/">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="generator" content="diff2html.py (http://git.droids-corp.org/gitweb/?p=diff2html)" />
|
|
<!--meta name="author" content="Fill in" /-->
|
|
<title>HTML Diff http/server/request_handler.cpp</title>
|
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEXAAAAAgAD///+K/HwIAAAAJUlEQVQI12NYBQQM2IgGBQ4mCIEQW7oyK4phampkGIQAc1G1AQCRxCNbyW92oQAAAABJRU5ErkJggg==" type="image/png" />
|
|
<meta property="dc:language" content="en" />
|
|
<!--meta property="dc:date" content="" /-->
|
|
<meta property="dc:modified" content="2020-08-15T11:49:42.650212+01:00" />
|
|
<meta name="description" content="File comparison" />
|
|
<meta property="dc:abstract" content="File comparison" />
|
|
<style>
|
|
table { border:0px; border-collapse:collapse; width: 100%; font-size:0.75em; font-family: Lucida Console, monospace }
|
|
td.line { color:#8080a0 }
|
|
th { background: black; color: white }
|
|
tr.diffunmodified td { background: #D0D0E0 }
|
|
tr.diffhunk td { background: #A0A0A0 }
|
|
tr.diffadded td { background: #CCFFCC }
|
|
tr.diffdeleted td { background: #FFCCCC }
|
|
tr.diffchanged td { background: #FFFFA0 }
|
|
span.diffchanged2 { background: #E0C880 }
|
|
span.diffponct { color: #B08080 }
|
|
tr.diffmisc td {}
|
|
tr.diffseparator td {}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<table class="diff">
|
|
<tr><th colspan='2'>src/​examples/​cpp03/​http/​server/​request_handler.​cpp</th><th colspan='2'>src/​examples/​cpp11/​http/​server/​request_handler.​cpp</th></tr>
|
|
<tr class="diffhunk"><td colspan="2">⋮</td><td colspan="2">⋮</td></tr><tr class="diffunmodified"><td class="diffline">1 </td><td class="diffpresent">/​/​</td><td class="diffline">1 </td><td class="diffpresent">/​/​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">2 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​request_handler.​cpp</td><td class="diffline">2 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​request_handler.​cpp</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">3 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​~~~~~~~~~~~~~~~~~~~</td><td class="diffline">3 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​~~~~~~~~~~~~~~~~~~~</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">4 </td><td class="diffpresent">/​/​</td><td class="diffline">4 </td><td class="diffpresent">/​/​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">5 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Copyright<span class="diffponct">·</span>​(c)​<span class="diffponct">·</span>​2003-​2020<span class="diffponct">·</span>​Christopher<span class="diffponct">·</span>​M.​<span class="diffponct">·</span>​Kohlhoff<span class="diffponct">·</span>​(chris<span class="diffponct">·</span>​at<span class="diffponct">·</span>​kohlhoff<span class="diffponct">·</span>​dot<span class="diffponct">·</span>​com)​</td><td class="diffline">5 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Copyright<span class="diffponct">·</span>​(c)​<span class="diffponct">·</span>​2003-​2020<span class="diffponct">·</span>​Christopher<span class="diffponct">·</span>​M.​<span class="diffponct">·</span>​Kohlhoff<span class="diffponct">·</span>​(chris<span class="diffponct">·</span>​at<span class="diffponct">·</span>​kohlhoff<span class="diffponct">·</span>​dot<span class="diffponct">·</span>​com)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">6 </td><td class="diffpresent">/​/​</td><td class="diffline">6 </td><td class="diffpresent">/​/​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">7 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Distributed<span class="diffponct">·</span>​under<span class="diffponct">·</span>​the<span class="diffponct">·</span>​Boost<span class="diffponct">·</span>​Software<span class="diffponct">·</span>​License,​<span class="diffponct">·</span>​Version<span class="diffponct">·</span>​1.​0.​<span class="diffponct">·</span>​(See<span class="diffponct">·</span>​accompanying</td><td class="diffline">7 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Distributed<span class="diffponct">·</span>​under<span class="diffponct">·</span>​the<span class="diffponct">·</span>​Boost<span class="diffponct">·</span>​Software<span class="diffponct">·</span>​License,​<span class="diffponct">·</span>​Version<span class="diffponct">·</span>​1.​0.​<span class="diffponct">·</span>​(See<span class="diffponct">·</span>​accompanying</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">8 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​file<span class="diffponct">·</span>​LICENSE_1_0.​txt<span class="diffponct">·</span>​or<span class="diffponct">·</span>​copy<span class="diffponct">·</span>​at<span class="diffponct">·</span>​http:​/​/​www.​boost.​org/​LICENSE_1_0.​txt)​</td><td class="diffline">8 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​file<span class="diffponct">·</span>​LICENSE_1_0.​txt<span class="diffponct">·</span>​or<span class="diffponct">·</span>​copy<span class="diffponct">·</span>​at<span class="diffponct">·</span>​http:​/​/​www.​boost.​org/​LICENSE_1_0.​txt)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">9 </td><td class="diffpresent">/​/​</td><td class="diffline">9 </td><td class="diffpresent">/​/​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">10 </td><td class="diffpresent"></td><td class="diffline">10 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">11 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"request_handler.​hpp"</td><td class="diffline">11 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"request_handler.​hpp"</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<fstream></td><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<fstream></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<sstream></td><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<sstream></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<string></td><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<string></td></tr>
|
|
<tr class="diffdeleted"><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<boost/​lexical_cast.​hpp></td><td colspan="2"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"mime_types.​hpp"</td><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"mime_types.​hpp"</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">17 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"reply.​hpp"</td><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"reply.​hpp"</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">18 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"request.​hpp"</td><td class="diffline">17 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"request.​hpp"</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">19 </td><td class="diffpresent"></td><td class="diffline">18 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">20 </td><td class="diffpresent">namespace<span class="diffponct">·</span>​http<span class="diffponct">·</span>​{</td><td class="diffline">19 </td><td class="diffpresent">namespace<span class="diffponct">·</span>​http<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">21 </td><td class="diffpresent">namespace<span class="diffponct">·</span>​server<span class="diffponct">·</span>​{</td><td class="diffline">20 </td><td class="diffpresent">namespace<span class="diffponct">·</span>​server<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">22 </td><td class="diffpresent"></td><td class="diffline">21 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">23 </td><td class="diffpresent">request_handler:​:​request_handler(const​<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​doc_root)​</td><td class="diffline">22 </td><td class="diffpresent">request_handler:​:​request_handler(const​<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​doc_root)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">24 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​doc_root_(doc_root)​</td><td class="diffline">23 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​doc_root_(doc_root)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">25 </td><td class="diffpresent">{</td><td class="diffline">24 </td><td class="diffpresent">{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">26 </td><td class="diffpresent">}</td><td class="diffline">25 </td><td class="diffpresent">}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">27 </td><td class="diffpresent"></td><td class="diffline">26 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">28 </td><td class="diffpresent">void<span class="diffponct">·</span>​request_handler:​:​handle_request(const<span class="diffponct">·</span>​request&<span class="diffponct">·</span>​req,​<span class="diffponct">·</span>​reply&<span class="diffponct">·</span>​rep)​</td><td class="diffline">27 </td><td class="diffpresent">void<span class="diffponct">·</span>​request_handler:​:​handle_request(const<span class="diffponct">·</span>​request&<span class="diffponct">·</span>​req,​<span class="diffponct">·</span>​reply&<span class="diffponct">·</span>​rep)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">29 </td><td class="diffpresent">{</td><td class="diffline">28 </td><td class="diffpresent">{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">30 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Decode<span class="diffponct">·</span>​url<span class="diffponct">·</span>​to<span class="diffponct">·</span>​path.​</td><td class="diffline">29 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Decode<span class="diffponct">·</span>​url<span class="diffponct">·</span>​to<span class="diffponct">·</span>​path.​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">31 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​request_path;​</td><td class="diffline">30 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​request_path;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">32 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(!url_decode(req.​uri,​<span class="diffponct">·</span>​request_path)​)​</td><td class="diffline">31 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(!url_decode(req.​uri,​<span class="diffponct">·</span>​request_path)​)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">33 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">32 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">34 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​rep<span class="diffponct">·</span>​=<span class="diffponct">·</span>​reply:​:​stock_reply(reply:​:​bad_request)​;​</td><td class="diffline">33 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​rep<span class="diffponct">·</span>​=<span class="diffponct">·</span>​reply:​:​stock_reply(reply:​:​bad_request)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">35 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return;​</td><td class="diffline">34 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">36 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">35 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">37 </td><td class="diffpresent"></td><td class="diffline">36 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">38 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Request<span class="diffponct">·</span>​path<span class="diffponct">·</span>​must<span class="diffponct">·</span>​be<span class="diffponct">·</span>​absolute<span class="diffponct">·</span>​and<span class="diffponct">·</span>​not<span class="diffponct">·</span>​contain<span class="diffponct">·</span>​".​.​".​</td><td class="diffline">37 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Request<span class="diffponct">·</span>​path<span class="diffponct">·</span>​must<span class="diffponct">·</span>​be<span class="diffponct">·</span>​absolute<span class="diffponct">·</span>​and<span class="diffponct">·</span>​not<span class="diffponct">·</span>​contain<span class="diffponct">·</span>​".​.​".​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">39 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(request_path.​empty()​<span class="diffponct">·</span>​||<span class="diffponct">·</span>​request_path[0]<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​'/​'</td><td class="diffline">38 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(request_path.​empty()​<span class="diffponct">·</span>​||<span class="diffponct">·</span>​request_path[0]<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​'/​'</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">40 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​||<span class="diffponct">·</span>​request_path.​find(".​.​")​<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​std:​:​string:​:​npos)​</td><td class="diffline">39 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​||<span class="diffponct">·</span>​request_path.​find(".​.​")​<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​std:​:​string:​:​npos)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">41 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">40 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">42 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​rep<span class="diffponct">·</span>​=<span class="diffponct">·</span>​reply:​:​stock_reply(reply:​:​bad_request)​;​</td><td class="diffline">41 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​rep<span class="diffponct">·</span>​=<span class="diffponct">·</span>​reply:​:​stock_reply(reply:​:​bad_request)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">43 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return;​</td><td class="diffline">42 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">44 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">43 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">45 </td><td class="diffpresent"></td><td class="diffline">44 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">46 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​path<span class="diffponct">·</span>​ends<span class="diffponct">·</span>​in<span class="diffponct">·</span>​slash<span class="diffponct">·</span>​(i.​e.​<span class="diffponct">·</span>​is<span class="diffponct">·</span>​a<span class="diffponct">·</span>​directory)​<span class="diffponct">·</span>​then<span class="diffponct">·</span>​add<span class="diffponct">·</span>​"index.​html".​</td><td class="diffline">45 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​path<span class="diffponct">·</span>​ends<span class="diffponct">·</span>​in<span class="diffponct">·</span>​slash<span class="diffponct">·</span>​(i.​e.​<span class="diffponct">·</span>​is<span class="diffponct">·</span>​a<span class="diffponct">·</span>​directory)​<span class="diffponct">·</span>​then<span class="diffponct">·</span>​add<span class="diffponct">·</span>​"index.​html".​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">47 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(request_path[request​_path.​size()​<span class="diffponct">·</span>​-​<span class="diffponct">·</span>​1]<span class="diffponct">·</span>​==<span class="diffponct">·</span>​'/​')​</td><td class="diffline">46 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(request_path[request​_path.​size()​<span class="diffponct">·</span>​-​<span class="diffponct">·</span>​1]<span class="diffponct">·</span>​==<span class="diffponct">·</span>​'/​')​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">48 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">47 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">49 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​request_path<span class="diffponct">·</span>​+=<span class="diffponct">·</span>​"index.​html";​</td><td class="diffline">48 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​request_path<span class="diffponct">·</span>​+=<span class="diffponct">·</span>​"index.​html";​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">50 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">49 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">51 </td><td class="diffpresent"></td><td class="diffline">50 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">52 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Determine<span class="diffponct">·</span>​the<span class="diffponct">·</span>​file<span class="diffponct">·</span>​extension.​</td><td class="diffline">51 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Determine<span class="diffponct">·</span>​the<span class="diffponct">·</span>​file<span class="diffponct">·</span>​extension.​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">53 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​last_slash_pos<span class="diffponct">·</span>​=<span class="diffponct">·</span>​request_path.​find_last_of("/​")​;​</td><td class="diffline">52 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​last_slash_pos<span class="diffponct">·</span>​=<span class="diffponct">·</span>​request_path.​find_last_of("/​")​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">54 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​last_dot_pos<span class="diffponct">·</span>​=<span class="diffponct">·</span>​request_path.​find_last_of(".​")​;​</td><td class="diffline">53 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​last_dot_pos<span class="diffponct">·</span>​=<span class="diffponct">·</span>​request_path.​find_last_of(".​")​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">55 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​extension;​</td><td class="diffline">54 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​extension;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">56 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(last_dot_pos<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​std:​:​string:​:​npos<span class="diffponct">·</span>​&&<span class="diffponct">·</span>​last_dot_pos<span class="diffponct">·</span>​><span class="diffponct">·</span>​last_slash_pos)​</td><td class="diffline">55 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(last_dot_pos<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​std:​:​string:​:​npos<span class="diffponct">·</span>​&&<span class="diffponct">·</span>​last_dot_pos<span class="diffponct">·</span>​><span class="diffponct">·</span>​last_slash_pos)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">57 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">56 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">58 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​extension<span class="diffponct">·</span>​=<span class="diffponct">·</span>​request_path.​substr(last_dot_pos<span class="diffponct">·</span>​+<span class="diffponct">·</span>​1)​;​</td><td class="diffline">57 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​extension<span class="diffponct">·</span>​=<span class="diffponct">·</span>​request_path.​substr(last_dot_pos<span class="diffponct">·</span>​+<span class="diffponct">·</span>​1)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">59 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">58 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">60 </td><td class="diffpresent"></td><td class="diffline">59 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">61 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Open<span class="diffponct">·</span>​the<span class="diffponct">·</span>​file<span class="diffponct">·</span>​to<span class="diffponct">·</span>​send<span class="diffponct">·</span>​back.​</td><td class="diffline">60 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Open<span class="diffponct">·</span>​the<span class="diffponct">·</span>​file<span class="diffponct">·</span>​to<span class="diffponct">·</span>​send<span class="diffponct">·</span>​back.​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">62 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​full_path<span class="diffponct">·</span>​=<span class="diffponct">·</span>​doc_root_<span class="diffponct">·</span>​+<span class="diffponct">·</span>​request_path;​</td><td class="diffline">61 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​full_path<span class="diffponct">·</span>​=<span class="diffponct">·</span>​doc_root_<span class="diffponct">·</span>​+<span class="diffponct">·</span>​request_path;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">63 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​ifstream<span class="diffponct">·</span>​is(full_path.​c_str()​,​<span class="diffponct">·</span>​std:​:​ios:​:​in<span class="diffponct">·</span>​|<span class="diffponct">·</span>​std:​:​ios:​:​binary)​;​</td><td class="diffline">62 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​ifstream<span class="diffponct">·</span>​is(full_path.​c_str()​,​<span class="diffponct">·</span>​std:​:​ios:​:​in<span class="diffponct">·</span>​|<span class="diffponct">·</span>​std:​:​ios:​:​binary)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">64 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(!is)​</td><td class="diffline">63 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(!is)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">65 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">64 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">66 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​rep<span class="diffponct">·</span>​=<span class="diffponct">·</span>​reply:​:​stock_reply(reply:​:​not_found)​;​</td><td class="diffline">65 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​rep<span class="diffponct">·</span>​=<span class="diffponct">·</span>​reply:​:​stock_reply(reply:​:​not_found)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">67 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return;​</td><td class="diffline">66 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">68 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">67 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">69 </td><td class="diffpresent"></td><td class="diffline">68 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">70 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Fill<span class="diffponct">·</span>​out<span class="diffponct">·</span>​the<span class="diffponct">·</span>​reply<span class="diffponct">·</span>​to<span class="diffponct">·</span>​be<span class="diffponct">·</span>​sent<span class="diffponct">·</span>​to<span class="diffponct">·</span>​the<span class="diffponct">·</span>​client.​</td><td class="diffline">69 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Fill<span class="diffponct">·</span>​out<span class="diffponct">·</span>​the<span class="diffponct">·</span>​reply<span class="diffponct">·</span>​to<span class="diffponct">·</span>​be<span class="diffponct">·</span>​sent<span class="diffponct">·</span>​to<span class="diffponct">·</span>​the<span class="diffponct">·</span>​client.​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">71 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​status<span class="diffponct">·</span>​=<span class="diffponct">·</span>​reply:​:​ok;​</td><td class="diffline">70 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​status<span class="diffponct">·</span>​=<span class="diffponct">·</span>​reply:​:​ok;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">72 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​char<span class="diffponct">·</span>​buf[512];​</td><td class="diffline">71 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​char<span class="diffponct">·</span>​buf[512];​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">73 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​while<span class="diffponct">·</span>​(is.​read(buf,​<span class="diffponct">·</span>​sizeof(buf)​)​.​gcount()​<span class="diffponct">·</span>​><span class="diffponct">·</span>​0)​</td><td class="diffline">72 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​while<span class="diffponct">·</span>​(is.​read(buf,​<span class="diffponct">·</span>​sizeof(buf)​)​.​gcount()​<span class="diffponct">·</span>​><span class="diffponct">·</span>​0)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">74 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​content.​append(buf,​<span class="diffponct">·</span>​is.​gcount()​)​;​</td><td class="diffline">73 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​content.​append(buf,​<span class="diffponct">·</span>​is.​gcount()​)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">75 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​headers.​resize(2)​;​</td><td class="diffline">74 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​headers.​resize(2)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">76 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​headers[0].​name<span class="diffponct">·</span>​=<span class="diffponct">·</span>​"Content-​Length";​</td><td class="diffline">75 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​headers[0].​name<span class="diffponct">·</span>​=<span class="diffponct">·</span>​"Content-​Length";​</td></tr>
|
|
<tr class="diffchanged"><td class="diffline">77 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​headers[0].​value<span class="diffponct">·</span>​=<span class="diffponct">·</span>​<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span>st<span class="diffchanged2">:​</span>:​<span class="diffchanged2">l</span><span class="diffchanged2">e</span><span class="diffchanged2">x</span><span class="diffchanged2">i</span><span class="diffchanged2">c</span><span class="diffchanged2">a</span><span class="diffchanged2">l</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2"><</span><span class="diffchanged2">s</span>t<span class="diffchanged2">d</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span>string<span class="diffchanged2">></span>(rep.​content.​size()​)​;​</td><td class="diffline">76 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​headers[0].​value<span class="diffponct">·</span>​=<span class="diffponct">·</span>​st<span class="diffchanged2">d</span>:​<span class="diffchanged2">:​</span>t<span class="diffchanged2">o</span><span class="diffchanged2">_</span>string(rep.​content.​size()​)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">78 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​headers[1].​name<span class="diffponct">·</span>​=<span class="diffponct">·</span>​"Content-​Type";​</td><td class="diffline">77 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​headers[1].​name<span class="diffponct">·</span>​=<span class="diffponct">·</span>​"Content-​Type";​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">79 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​headers[1].​value<span class="diffponct">·</span>​=<span class="diffponct">·</span>​mime_types:​:​extension_to_type(ext​ension)​;​</td><td class="diffline">78 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​rep.​headers[1].​value<span class="diffponct">·</span>​=<span class="diffponct">·</span>​mime_types:​:​extension_to_type(ext​ension)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">80 </td><td class="diffpresent">}</td><td class="diffline">79 </td><td class="diffpresent">}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">81 </td><td class="diffpresent"></td><td class="diffline">80 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">82 </td><td class="diffpresent">bool<span class="diffponct">·</span>​request_handler:​:​url_decode(const<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​in,​<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​out)​</td><td class="diffline">81 </td><td class="diffpresent">bool<span class="diffponct">·</span>​request_handler:​:​url_decode(const<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​in,​<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​out)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">83 </td><td class="diffpresent">{</td><td class="diffline">82 </td><td class="diffpresent">{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">84 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​out.​clear()​;​</td><td class="diffline">83 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​out.​clear()​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">85 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​out.​reserve(in.​size()​)​;​</td><td class="diffline">84 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​out.​reserve(in.​size()​)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">86 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​for<span class="diffponct">·</span>​(std:​:​size_t<span class="diffponct">·</span>​i<span class="diffponct">·</span>​=<span class="diffponct">·</span>​0;​<span class="diffponct">·</span>​i<span class="diffponct">·</span>​<<span class="diffponct">·</span>​in.​size()​;​<span class="diffponct">·</span>​++i)​</td><td class="diffline">85 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​for<span class="diffponct">·</span>​(std:​:​size_t<span class="diffponct">·</span>​i<span class="diffponct">·</span>​=<span class="diffponct">·</span>​0;​<span class="diffponct">·</span>​i<span class="diffponct">·</span>​<<span class="diffponct">·</span>​in.​size()​;​<span class="diffponct">·</span>​++i)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">87 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">86 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">88 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(in[i]<span class="diffponct">·</span>​==<span class="diffponct">·</span>​'%')​</td><td class="diffline">87 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(in[i]<span class="diffponct">·</span>​==<span class="diffponct">·</span>​'%')​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">89 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">88 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">90 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(i<span class="diffponct">·</span>​+<span class="diffponct">·</span>​3<span class="diffponct">·</span>​<=<span class="diffponct">·</span>​in.​size()​)​</td><td class="diffline">89 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(i<span class="diffponct">·</span>​+<span class="diffponct">·</span>​3<span class="diffponct">·</span>​<=<span class="diffponct">·</span>​in.​size()​)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">91 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">90 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">92 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​int<span class="diffponct">·</span>​value<span class="diffponct">·</span>​=<span class="diffponct">·</span>​0;​</td><td class="diffline">91 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​int<span class="diffponct">·</span>​value<span class="diffponct">·</span>​=<span class="diffponct">·</span>​0;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">93 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​istringstream<span class="diffponct">·</span>​is(in.​substr(i<span class="diffponct">·</span>​+<span class="diffponct">·</span>​1,​<span class="diffponct">·</span>​2)​)​;​</td><td class="diffline">92 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​istringstream<span class="diffponct">·</span>​is(in.​substr(i<span class="diffponct">·</span>​+<span class="diffponct">·</span>​1,​<span class="diffponct">·</span>​2)​)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">94 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(is<span class="diffponct">·</span>​>><span class="diffponct">·</span>​std:​:​hex<span class="diffponct">·</span>​>><span class="diffponct">·</span>​value)​</td><td class="diffline">93 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(is<span class="diffponct">·</span>​>><span class="diffponct">·</span>​std:​:​hex<span class="diffponct">·</span>​>><span class="diffponct">·</span>​value)​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">95 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">94 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">96 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​out<span class="diffponct">·</span>​+=<span class="diffponct">·</span>​static_cast<char>(val​ue)​;​</td><td class="diffline">95 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​out<span class="diffponct">·</span>​+=<span class="diffponct">·</span>​static_cast<char>(val​ue)​;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">97 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​i<span class="diffponct">·</span>​+=<span class="diffponct">·</span>​2;​</td><td class="diffline">96 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​i<span class="diffponct">·</span>​+=<span class="diffponct">·</span>​2;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">98 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">97 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">99 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​else</td><td class="diffline">98 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​else</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">100 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">99 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">101 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​false;​</td><td class="diffline">100 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​false;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">102 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">101 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">103 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">102 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">104 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​else</td><td class="diffline">103 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​else</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">105 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">104 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">106 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​false;​</td><td class="diffline">105 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​false;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">107 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">106 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">108 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">107 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">109 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​else<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(in[i]<span class="diffponct">·</span>​==<span class="diffponct">·</span>​'+')​</td><td class="diffline">108 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​else<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(in[i]<span class="diffponct">·</span>​==<span class="diffponct">·</span>​'+')​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">110 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">109 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">111 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​out<span class="diffponct">·</span>​+=<span class="diffponct">·</span>​'<span class="diffponct">·</span>​';​</td><td class="diffline">110 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​out<span class="diffponct">·</span>​+=<span class="diffponct">·</span>​'<span class="diffponct">·</span>​';​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">112 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">111 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">113 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​else</td><td class="diffline">112 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​else</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">114 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">113 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">115 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​out<span class="diffponct">·</span>​+=<span class="diffponct">·</span>​in[i];​</td><td class="diffline">114 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​out<span class="diffponct">·</span>​+=<span class="diffponct">·</span>​in[i];​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">116 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">115 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">117 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">116 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">118 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​true;​</td><td class="diffline">117 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​true;​</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">119 </td><td class="diffpresent">}</td><td class="diffline">118 </td><td class="diffpresent">}</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">120 </td><td class="diffpresent"></td><td class="diffline">119 </td><td class="diffpresent"></td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">121 </td><td class="diffpresent">}<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​namespace<span class="diffponct">·</span>​server</td><td class="diffline">120 </td><td class="diffpresent">}<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​namespace<span class="diffponct">·</span>​server</td></tr>
|
|
<tr class="diffunmodified"><td class="diffline">122 </td><td class="diffpresent">}<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​namespace<span class="diffponct">·</span>​http</td><td class="diffline">121 </td><td class="diffpresent">}<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​namespace<span class="diffponct">·</span>​http</td></tr>
|
|
|
|
</table>
|
|
|
|
<footer>
|
|
<p>Modified at 15.08.2020. HTML formatting created by <a href="http://git.droids-corp.org/gitweb/?p=diff2html;a=summary">diff2html</a>. </p>
|
|
</footer>
|
|
</body></html>
|