From 5a78295dfc668e6f77d1790b61e382c741178fb4 Mon Sep 17 00:00:00 2001 From: Wessel Tip Date: Sun, 17 Mar 2024 21:33:48 +0100 Subject: [PATCH] feat: Upload current version of server --- src/Server/.idea/.idea.REST API/.idea/.name | 1 + .../.idea/.idea.Server/.idea/.gitignore | 15 + .../.idea/.idea.Server/.idea/discord.xml | 12 + src/Server/.idea/.idea.Server/.idea/icon.svg | 11 + .../.idea/.idea.Server/.idea/indexLayout.xml | 8 + src/Server/.idea/.idea.Server/.idea/vcs.xml | 6 + .../ProjectEvaluation/server.metadata.v7.bin | Bin 0 -> 190274 bytes .../ProjectEvaluation/server.projects.v7.bin | Bin 0 -> 392063 bytes .../.vs/Server/DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 110139 bytes ...0ebf5282-dba2-48df-a5dd-d452e540ef92.vsidx | Bin 0 -> 107 bytes ...52f5c528-e369-47df-a1cf-ae04d5943866.vsidx | Bin 0 -> 12205 bytes ...6a93b343-6473-4eec-b8e1-a5832b44f301.vsidx | Bin 0 -> 3498 bytes ...6f6aedf3-f7d0-494a-9770-6a5416fc9d90.vsidx | Bin 0 -> 4450 bytes ...b61403b8-0c55-44ff-9a4b-721609025b25.vsidx | Bin 0 -> 6608 bytes src/Server/.vs/Server/v17/.futdcache.v2 | Bin 0 -> 676 bytes src/Server/.vs/Server/v17/.suo | Bin 0 -> 46592 bytes src/Server/Console/Console.csproj | 15 + src/Server/Console/Program.cs | 24 + src/Server/Console/Routes/Root.cs | 20 + src/Server/Console/Routes/RouteClass.cs | 17 + src/Server/Console/bin/Debug/net8.0/Console | Bin 0 -> 77288 bytes .../bin/Debug/net8.0/Console.deps.json | 60 +++ .../Console/bin/Debug/net8.0/Console.dll | Bin 0 -> 6144 bytes .../Console/bin/Debug/net8.0/Console.exe | Bin 0 -> 140800 bytes .../Console/bin/Debug/net8.0/Console.pdb | Bin 0 -> 11568 bytes .../Debug/net8.0/Console.runtimeconfig.json | 12 + .../Console/bin/Debug/net8.0/LibHttp.dll | Bin 0 -> 8704 bytes .../Console/bin/Debug/net8.0/LibHttp.pdb | Bin 0 -> 12296 bytes .../Console/bin/Debug/net8.0/LibParse.dll | Bin 0 -> 14336 bytes .../Console/bin/Debug/net8.0/LibParse.pdb | Bin 0 -> 15968 bytes .../Console/bin/Debug/net8.0/LibServer.dll | Bin 0 -> 10240 bytes .../Console/bin/Debug/net8.0/LibServer.pdb | Bin 0 -> 13144 bytes .../Console/bin/Debug/net8.0/ServerLib.dll | Bin 0 -> 7168 bytes .../Console/bin/Debug/net8.0/ServerLib.pdb | Bin 0 -> 11512 bytes src/Server/LibHttp/LibHttp.csproj | 9 + src/Server/LibHttp/MimeTypes.cs | 25 ++ src/Server/LibHttp/Request.cs | 59 +++ src/Server/LibHttp/Response.cs | 74 ++++ .../bin/Debug/net8.0/LibHttp.deps.json | 23 + .../LibHttp/bin/Debug/net8.0/LibHttp.dll | Bin 0 -> 8704 bytes .../LibHttp/bin/Debug/net8.0/LibHttp.pdb | Bin 0 -> 12296 bytes src/Server/LibParse/Json/JsonReader.cs | 414 ++++++++++++++++++ src/Server/LibParse/Json/JsonWriter.cs | 185 ++++++++ src/Server/LibParse/LibParse.csproj | 9 + .../bin/Debug/net8.0/LibParse.deps.json | 23 + .../LibParse/bin/Debug/net8.0/LibParse.dll | Bin 0 -> 14336 bytes .../LibParse/bin/Debug/net8.0/LibParse.pdb | Bin 0 -> 15968 bytes src/Server/LibServer/LibServer.cs | 95 ++++ src/Server/LibServer/LibServer.csproj | 13 + src/Server/LibServer/Router/Route.cs | 19 + src/Server/LibServer/Router/Router.cs | 54 +++ src/Server/LibServer/Router/StaticFile.cs | 24 + .../LibServer/bin/Debug/net8.0/LibHttp.dll | Bin 0 -> 8704 bytes .../LibServer/bin/Debug/net8.0/LibHttp.pdb | Bin 0 -> 12296 bytes .../bin/Debug/net8.0/LibServer.deps.json | 36 ++ .../LibServer/bin/Debug/net8.0/LibServer.dll | Bin 0 -> 10240 bytes .../LibServer/bin/Debug/net8.0/LibServer.pdb | Bin 0 -> 13144 bytes .../bin/Debug/net8.0/ServerLib.deps.json | 36 ++ .../LibServer/bin/Debug/net8.0/ServerLib.dll | Bin 0 -> 7168 bytes .../LibServer/bin/Debug/net8.0/ServerLib.pdb | Bin 0 -> 11512 bytes src/Server/REST API.sln | 40 ++ src/Server/REST API.sln.DotSettings.user | 2 + src/Server/Server.sln.DotSettings.user | 2 + 63 files changed, 1343 insertions(+) create mode 100644 src/Server/.idea/.idea.REST API/.idea/.name create mode 100644 src/Server/.idea/.idea.Server/.idea/.gitignore create mode 100644 src/Server/.idea/.idea.Server/.idea/discord.xml create mode 100644 src/Server/.idea/.idea.Server/.idea/icon.svg create mode 100644 src/Server/.idea/.idea.Server/.idea/indexLayout.xml create mode 100644 src/Server/.idea/.idea.Server/.idea/vcs.xml create mode 100644 src/Server/.vs/ProjectEvaluation/server.metadata.v7.bin create mode 100644 src/Server/.vs/ProjectEvaluation/server.projects.v7.bin create mode 100644 src/Server/.vs/Server/DesignTimeBuild/.dtbcache.v2 create mode 100644 src/Server/.vs/Server/FileContentIndex/0ebf5282-dba2-48df-a5dd-d452e540ef92.vsidx create mode 100644 src/Server/.vs/Server/FileContentIndex/52f5c528-e369-47df-a1cf-ae04d5943866.vsidx create mode 100644 src/Server/.vs/Server/FileContentIndex/6a93b343-6473-4eec-b8e1-a5832b44f301.vsidx create mode 100644 src/Server/.vs/Server/FileContentIndex/6f6aedf3-f7d0-494a-9770-6a5416fc9d90.vsidx create mode 100644 src/Server/.vs/Server/FileContentIndex/b61403b8-0c55-44ff-9a4b-721609025b25.vsidx create mode 100644 src/Server/.vs/Server/v17/.futdcache.v2 create mode 100644 src/Server/.vs/Server/v17/.suo create mode 100644 src/Server/Console/Console.csproj create mode 100644 src/Server/Console/Program.cs create mode 100644 src/Server/Console/Routes/Root.cs create mode 100644 src/Server/Console/Routes/RouteClass.cs create mode 100644 src/Server/Console/bin/Debug/net8.0/Console create mode 100644 src/Server/Console/bin/Debug/net8.0/Console.deps.json create mode 100644 src/Server/Console/bin/Debug/net8.0/Console.dll create mode 100644 src/Server/Console/bin/Debug/net8.0/Console.exe create mode 100644 src/Server/Console/bin/Debug/net8.0/Console.pdb create mode 100644 src/Server/Console/bin/Debug/net8.0/Console.runtimeconfig.json create mode 100644 src/Server/Console/bin/Debug/net8.0/LibHttp.dll create mode 100644 src/Server/Console/bin/Debug/net8.0/LibHttp.pdb create mode 100644 src/Server/Console/bin/Debug/net8.0/LibParse.dll create mode 100644 src/Server/Console/bin/Debug/net8.0/LibParse.pdb create mode 100644 src/Server/Console/bin/Debug/net8.0/LibServer.dll create mode 100644 src/Server/Console/bin/Debug/net8.0/LibServer.pdb create mode 100644 src/Server/Console/bin/Debug/net8.0/ServerLib.dll create mode 100644 src/Server/Console/bin/Debug/net8.0/ServerLib.pdb create mode 100644 src/Server/LibHttp/LibHttp.csproj create mode 100644 src/Server/LibHttp/MimeTypes.cs create mode 100644 src/Server/LibHttp/Request.cs create mode 100644 src/Server/LibHttp/Response.cs create mode 100644 src/Server/LibHttp/bin/Debug/net8.0/LibHttp.deps.json create mode 100644 src/Server/LibHttp/bin/Debug/net8.0/LibHttp.dll create mode 100644 src/Server/LibHttp/bin/Debug/net8.0/LibHttp.pdb create mode 100644 src/Server/LibParse/Json/JsonReader.cs create mode 100644 src/Server/LibParse/Json/JsonWriter.cs create mode 100644 src/Server/LibParse/LibParse.csproj create mode 100644 src/Server/LibParse/bin/Debug/net8.0/LibParse.deps.json create mode 100644 src/Server/LibParse/bin/Debug/net8.0/LibParse.dll create mode 100644 src/Server/LibParse/bin/Debug/net8.0/LibParse.pdb create mode 100644 src/Server/LibServer/LibServer.cs create mode 100644 src/Server/LibServer/LibServer.csproj create mode 100644 src/Server/LibServer/Router/Route.cs create mode 100644 src/Server/LibServer/Router/Router.cs create mode 100644 src/Server/LibServer/Router/StaticFile.cs create mode 100644 src/Server/LibServer/bin/Debug/net8.0/LibHttp.dll create mode 100644 src/Server/LibServer/bin/Debug/net8.0/LibHttp.pdb create mode 100644 src/Server/LibServer/bin/Debug/net8.0/LibServer.deps.json create mode 100644 src/Server/LibServer/bin/Debug/net8.0/LibServer.dll create mode 100644 src/Server/LibServer/bin/Debug/net8.0/LibServer.pdb create mode 100644 src/Server/LibServer/bin/Debug/net8.0/ServerLib.deps.json create mode 100644 src/Server/LibServer/bin/Debug/net8.0/ServerLib.dll create mode 100644 src/Server/LibServer/bin/Debug/net8.0/ServerLib.pdb create mode 100644 src/Server/REST API.sln create mode 100644 src/Server/REST API.sln.DotSettings.user create mode 100644 src/Server/Server.sln.DotSettings.user diff --git a/src/Server/.idea/.idea.REST API/.idea/.name b/src/Server/.idea/.idea.REST API/.idea/.name new file mode 100644 index 0000000..15f340c --- /dev/null +++ b/src/Server/.idea/.idea.REST API/.idea/.name @@ -0,0 +1 @@ +REST API \ No newline at end of file diff --git a/src/Server/.idea/.idea.Server/.idea/.gitignore b/src/Server/.idea/.idea.Server/.idea/.gitignore new file mode 100644 index 0000000..51d5dc5 --- /dev/null +++ b/src/Server/.idea/.idea.Server/.idea/.gitignore @@ -0,0 +1,15 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/.idea.Server.iml +/modules.xml +/contentModel.xml +/projectSettingsUpdater.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# GitHub Copilot persisted chat sessions +/copilot/chatSessions diff --git a/src/Server/.idea/.idea.Server/.idea/discord.xml b/src/Server/.idea/.idea.Server/.idea/discord.xml new file mode 100644 index 0000000..3aef922 --- /dev/null +++ b/src/Server/.idea/.idea.Server/.idea/discord.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/src/Server/.idea/.idea.Server/.idea/icon.svg b/src/Server/.idea/.idea.Server/.idea/icon.svg new file mode 100644 index 0000000..e8a20f6 --- /dev/null +++ b/src/Server/.idea/.idea.Server/.idea/icon.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/src/Server/.idea/.idea.Server/.idea/indexLayout.xml b/src/Server/.idea/.idea.Server/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/src/Server/.idea/.idea.Server/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/Server/.idea/.idea.Server/.idea/vcs.xml b/src/Server/.idea/.idea.Server/.idea/vcs.xml new file mode 100644 index 0000000..c2365ab --- /dev/null +++ b/src/Server/.idea/.idea.Server/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Server/.vs/ProjectEvaluation/server.metadata.v7.bin b/src/Server/.vs/ProjectEvaluation/server.metadata.v7.bin new file mode 100644 index 0000000000000000000000000000000000000000..40a7bbb519288c398c89c111bb7f0ee37cb34cf3 GIT binary patch literal 190274 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 literal 0 HcmV?d00001 diff --git a/src/Server/.vs/ProjectEvaluation/server.projects.v7.bin b/src/Server/.vs/ProjectEvaluation/server.projects.v7.bin new file mode 100644 index 0000000000000000000000000000000000000000..5c582f18a6dac51d58d340b56ae3bdf4878e5324 GIT binary patch literal 392063 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�nB>FmkeeNj@EFDRl4U_j2S-&?Pa-(?2 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 eQPnty)woz!I{^o7uuwscs^ z((BTevMg;WOYddrEa+@t7g)-FUP(u`ukB&}v6S!oo+p7LpRr!+ob&4HmZPhy?g4>7 zV8{fcwY&ZB@u{9+jkD(-uJKoaz@~e4CzA2TXsp9%Os8_uL@GNwn#m=i$qCV1R0{$V znG{WC4J{0P?b(_1LL-)<{H3nXXJCmD6zWfF6yv)fuB&jnT2#n6{B)+s4$5ZH+d> z>+8luTU$rekE(5p8>7cI)V9`+sB4Xmts65UHo7*}FkPEyywAGCs(>7vE+ZdxRJ~r0cFmh~teeI|*W8-5Q>Wq=K z(Xq9yu`z6=wV^&bVnkd0=n+O;{fI!YzD`>WK5C-^>o=y8N%ntsG`1+(ZcIooNhQ2z|~)Kmw% z6-~uk60X)fwZ5gPo^f;1t?67M7Hw%VGK-B&3!kTKI%%||TNk!ir?e$y!l14CwK3=Vj)G1FMW6b2$~C_I5dj@Q09 zC#;k>Cx+o%IG5=z@C9G_d4?+b(iLybGs1sp>!Gl0>y)lJ2A|)>M!adlv^hqbkug#+ zBU@0iHUfBS2Ryf{In9@<(b!?c7C9x-ErfwVg{NkHT@`rqBm?_ zBHJBJ4r|JF#}nz6`r7(>?mTpMcBc}#o|YL+R@bkku{*;pOs-{5Zq=im@lhiRt{R}z zsTv0|kNYtR{?oZqv^{VR=Xh^l8;=8T?#5A5)(x!@sI_=s7uNv=&Ep9ETAPTSs|`=3 zV^%G%O~K!*4)0E7qix16+FtfU`jCe0Lfr8Bv4T^V*Kr%lJ{af~*D|IlV) zGYgy9*v#Qg;IiQGxY3qK8RMGgjBlK{>x7AW&Yip~S5=TP2iD@Fan_uP<7dx?I`Y8U z182=Sa58_vILfb_L)KN^QCI#K^_6~6e_+L5)R#Y0L#0DC6dfwC zmQAmbiYL>tXpW0tV7=j88FY&>Mx6UI(Nz05Bel!irobA*I}+_3T$D51J6{~#DX`}7 z6rZwaYtmo@KC}g3{UmL;^?P)y#%;;P*Xt&;;>F5lTb!M!a<>eewgOynMhzvEl;e!O z+jeK6LQL64wu?tjO8eQE&KNc0ySi%TaDZrlYg=%1XIN5j9XEAEGhMc=oX@uGx^K^D zHWB0cgZ%^H+CC@%=@n?&vbry<`W^86M5>{_W_BjgnaJ?~GiwLDA53R_4%jw5$7oMv zbD197a0?8#`eL{<8%t-n^0f^e1Ve@|hPVJ{b37`KX5zN3C~PhA#a2@f=Nme46>%pm zXB?8VEyiH6!%vHQcDHe5>J%3P=9c(r&Kb6HMV{sBG8MCXA9k?qu%28|)~!o30h5bY zl*y^w`O2Xsvg2I@<138qnd#JIBV}Z`LbMv6LsnGOOh(G!=AX9>F4&> zh>y>5PS-B+2g8d)S0MRndzgg-N31{xntQsCS?9!U&dAs#bi;>~zdj(f)t#}5ylr#| zjQZM;aFobP+vW~|Ie%JZw~#xXI)7UXT)o^-S>s^qLOK+Y`C4gPCb4NUauW~987Yjq zod)_a-+8sHTag|PTfVl96B5yO45bq>t22m5`^r}n7Z7#;qt+E zyzO&wHB2Am=hbOdzt_NwuPye3OmvAv70CJ-kXTZ?W7i?ZE?+J8q@tZXDLSrs`~Sz7A={TyxZ^Dy|2ozFwGHR>*{GxtZiIPX zd$+~rt!w2b813=%tQH$pyJa`SzOP-Ssk6`v<;-{1x(BmoCY?(r?E2^y825ERsTj8? zzm<(@x5Kor<2l7N`YKNSY>j|GDx2;=s$X{U3@3K8N)fr9kd5znYH{~)$w9~G`o`8K{6GPJz zse^4>e}%1s{p8lNHSrK>mYovy6zuw1Q(AU;qHdHYv)VPY_6*z9o`q#!y8@Qwy}OM} zPyRl}bFkX(C(m{{vd`)Zuom~z+DyZ_`}TL3^7Z0`DNL%hLwgzad@VSxy}fwaqiyt6 z81?lk5u?Q^jn`qRNw~jcXsk1>eb@E!hO^AF$_ZMTC%*j+6fZ?%nO&J=H!&fWGDt5a1l+;BKBp z@3bqQt`M6|2H%wD8G?4%{Tw!ZuN^Q8DG@Vfr}=pj+wPaJ>ucf!{5GX|{-4nMHCxmO zn}5N$@AdF}qqQ-a;Jc)D#NWX3zp?oan;)?GnK%B9fxrSgGR26-@xYDsaEx1Zgf%wr zdm(4@oK!!=DR2W|)7Qa|6SAE9!gH`HjQd_~alm5S>XQ$IRevkz?oLenaO#oOVb9-d zTI|iUo{e(s4uM@?ujyH>csR|T^kGrECQSM|+~GNoc%Tf|%!EXiCkV$n3QF_Zu$*6#OuPMuPOBcixYXWp7`c zg|BrfMiZDCkmcSW8fm+<4O;=x=k40s3@fSQIIz_U4BWmgZU?>%>>lmwU3s}z=sa7J zaeAlOnz`2FBeoygu^-wFaORl*8E5Pn?v3`9=<9uA;lsM-eH}rICG}F<89e*js5$qC zr|^7lNe%nk^Ojhr@^o*0WW_CH7R$%2kTRv3-YdE|+7!zqx|}9$7tns{|A;FNJ0;nS z8o0DV${>@&%Ny|XBTnzN7M6V-8%T+m&MOi~Jzoc_{m%&vvyD*o?wv z3^wC<<8zzu_`(;1HDkP>bGKq@*`&An2aVmol-d6|I?qho9XGw z;Zggpj-HzF$@Vm720O%&nZBR?@_sbROuX6uQx0UE8#Z&`fUje|@(fs2bTf?m`bbB4 z;}cV{bllDK&x037`guF9yce^&j8s$BsRtIo34d$E@?I!4V&FtyJ4@w#STM47Y$HEk zl4#>qf^ssgVP8<4%^c~s6;+ha^$`@W9J!lwcJ9e!cDeT`d{VX3j%JY&UaV)sY6^7RH# zv3aXLKLAF3%~cm0RR`Gz!M?9Ut0MbZ+;_5bDN$JVXY~PRvZ!S_--B+2L0{)cTL$@& z`0ivhQ!+s)=0DRNJmt!2q#HY;sgxlPZ1_vEYt$;waYX6sq`qd?;4FT?GHK21v+F8< zFC*7%b2PgsTZ2dD+LGxdc42Pgu(b|s7J>j@#|L==Y)>rSlQ8RRqo|ryYmyYA@51I_ z__9JzM)9n;EbRN5J}KbBDi(Gj$ieOkD*Ltvv-znkyX>#1631)k+4lncog%=GesS8} zy2I-9x%_RT3e8RDMTZ<#eZ7f0FPiK&n!CH4XA1nC-YCtkzf}{gU}odoTp}s6iTr(> zt*Bq_>jY8BKlwYpf|dMa=0i}O9*WJ8*c^?`vDh4k&GFcrfXz~DPQ>OUY);1J6l_lA zjlWeP9JcRK7TmD&_qkMSYJF%&zvRe0S$UW*{%_!E_fdR?BPW>=M{wc)B|`u4Ey%f^|0nJ0TBO7RBH5+)7zI z8g2vz4YyZv9ESy?2V1KZvWHmBa2MX!oogGzN8%N(Eid^dNM|C&&!i_}JMpS~Sa*-R z+;|poTwQ%lZD60_JUJlQ!>e}3tQ8llSy`{fh$r~LAp1aD2Ii=Tu1JA1A&8$lu@|?T zXdQV;kmEQMgVYG92S^irAr=Mtdbbo(XAv1*lyz`M$FR zv%;Jy_2T5dc+t0o2ql{AaC?#9;j!%S{ECFm4RAbKYpHF#41`mN(oWy@%oXiR!Ao8K2|SbZa+mKJWpyFF62L!PeSPg0~*CW#s0Ct2Wvejo6VeN7l+NUgm1>9N8^^3bJ5Y3g|MAJKg zh~_F-yBgLi^koZHNA{(Va!F0a~<)+8+?k{`oVcn#iA~epeRS z_2BIWY;J_L>M!5YQ>D6XmGzro?bo~C!jIGb{Cf9WyBP;Ie7Jt>FbbC<)^35V{nQgA z5HC*8t=>da>7D_l@ny939bCST?08PVtZdGzS$$k@nHbz>Vw z7`0=@df=!qBVJid+zBS`g0~AiV}hI1!WEyjyK(q|&QqA^+RQ9K!)BSU=S+)D8-G`V4`aA zIPHGG5Af^^I9=T0b+EMuV5GTZU;YgAyKeQsbs@dPJ*${L2-o-XnxBGIyS4S%fc6l~ z?CrSV?Cl3VY5~xtL zRjZIa!69i+V)G1wJJ3%y(UJQbtjsN?&;#DI7rcp}7xGXeCj6wRXq|WMWh&srTd58xTYVUg!QZGE_{k4ev5JY|i ztBd?Bj>-c3foK`B3osr~=|Mcbuvp-$MdPQS@pEjx0GBE6xhz^we|+)V1OjoF&Pp&Z z7_C045=JYzYmxdD_#|wWgVc=Aq+$-0N^D1YVijnf+&&Lc8tPix8pezq6^%EH8euey z)V@QUKX?;o?=&mUTU7rShP}%sm1hmj_D={ifS39%C=1F{+3)_e7R2GJ52kk(5lk3{ z{4SPd-eRE*V8hxfuwJ2nDnIgoRS)9qolwPP6w5%T&zF4hvlH4NFd8dcE(;cV@_5`aM$NNU?{f(&j?de} zUC)yW=n56QT1VRf%gYC23>c@fs)_A zXU|htg)ds+s+uP-IIm&Sc89$KoqDP)EKgehugmHKQcG6B`+bT7(!t`M*i1xd-ra&M z!;$+^sla}f_IkjcHrbm%dZEw_MB59@O@l$tyRwC)E3ezrtgPXP^kVZn`N=EyMBBiA z@L6)lV}>{3^~R^-wbgda0=0X?cG~M+Y@Vg8^?Ce&EtjcROdI9%?UA1$o z%|n>;y$Q1yiZS&`4Raq@t$yx=+Mc*4Gt0wN_g!Xz{mWeQ&VDa=Z1EEKwL}wywvdsa)lSl zX$e^GEK@`){KyN6s}HspiYxeS@tp+UDQwaR+t)_leK}s)M&H`&0he0Vn?QOaRNnHZ z<-pux81(!uRbgYJyy8#mfknAhRRQP$l^z7u8;f|cWWE!l9SSZFM`XS>MBvg{DnvU9 z*2=X;4#*1*s}JT^IFw+H0e{CMq9(7aPNcl2+BIUHl75c_wWZ!TsqljC+KJ%cWE|e} z44%BF5nM>}&iSrCoT!uDtM^x-qrhM7G|+MeHfMsHHm}Qv*eXu!2U?^NbzY{K-<@Zy z-$P^VY;QuTKwI8dtDQU-eGO+|A7QR|pBJ=U=uHqRZN-jSoLvOYF2Uw9 z*gVK<;_M|T^KTQ?u7H_&4t0fl`@vhu*!N0rVo-Q1^wJ{j8kq4spDbpaH=%0Ru@&tP zFeUlq0)z)_c@RMbq9lSF5y4G}!1JD0@%v1R-r=g<42#n9ssQW8X+gx+C==kbjhDQMsCOZ-C3Uya};)E{j9-Ac@#JqXqAsc2lAXlMWP20Bs<(IY3Zl{8#o3zYbt}W%pya)egHLyg;?!CF;YJzBY9DyxZz)0W_ahwK z^SeMyMnQ2cSElhjoENXIjn>#rn3nGLfIn@Z zH=&f0SSA#0FvuH%%~~+q;Y0t$e)IVZYiVPYIBT6QZ5`NL7d8)YyEQc>P!IU@Af{3( zOB}U&Y3m`T4YAn>fmPr8EWNU4C%Txx(yq^@u(~;{%0vS$oMpfs5ULIHCb&{o%lK>Y zx-|^8_)s)$gXk)31OB#yojLj9XzliZF%NvNL>7GC32s;4e3cfqxv5TG7_FUGLoqtj znI3+5gAwht&PWaD8V_wB#*&n95%aQvpY6AHjUU!z-AIQld+k?n?T&_3)ON+c>_UUU*|GacX~l-^%0b# zREa=q23ggQf|SeF;-hc{d2KGv%sd#Av0M?x3&N_8q8wpGQ7k|Jo~KGJCid<&GCf$k z*1G)n16?h!CaKb5kQaPaA4fU9isLu{A?)k*wP?2l7Ew_U)e0-KoomtF*$;x$ySN_s ztq@e;cN~7VW77fW=X*`jOv8HjXkdoJ3jdv_r0*$VC12-(p9&@7r{^6j92o27qm;Pa zDfu!_Mc>o9DizgxT!sqQF=n_w@iZTUL)tA{aw9SYntap28X_%0a3+Tcg z4`}kh?J^9xZg;WU+QIPM^VAJUz{;`K>bu=JUgh1Yj%2P|>F$28RWcnU<4q`KC@T#` z%YwWdEP9@3u-GwjOVXJ|%ImAOZWxptLwTGBOnMMfITFi=q7?S=rN>zTp2P|nvdJ{)Esxtg)i(F!{lhr)N zw^FoscOquBCdaY~?ReNJtnabg1ExH<0?Lr&`hFsOKN-GzKFbt^##!amPB5PWGcwDx zaIY6MRquWonu^>%9aR0+H>%v1!XklqhDw#}{a;I!IA~oF%RtrHh@txaT$!p$-s_s? zx6fGi&V{MMzG)$%AC#%Rc2qD`jq~Mr$~&)JhEsAmOjSR`DpSVzRdbEWg!3}4qT!*trypFE6s)Vf37`yD zuA5eYx&~}r3uD#KQ7F&W6n;0Xk;$(oYn3pWbAb}Z4yl-aFj!LBuJKmQ%T=HYmhxAwk7B-hmptYkPtd*3zTfK3=JZrA|+HIif4%n)G4nldVq&~}E ztlHhMCzC3il2;7t2ZL(4^B|z|YYYJ^caHq3pP)}Wc4F7wJ7pi8#9TR-OGI%cAkM9cQoMa&U4oHoU=NA zwtC-Hx(a=N4!-{#o0k!Q_nkK}HqVIh>>axo;`ZB=oq4+YotM^L_a=-=oE3zjy#?Cd zhCR>wZL?YzGG8A5h&LozsM`e zL?N>{A(8FEJUh23a;HU90(n55_K7!PDGXNf*rM|@(D^y+dj7tQ0=uY1{|O`VzKr}n z4|wyy^~#jN^{+sZ3I9ER2suwg%|y;SS?6RqEXk9|3cv%pv~Lm4zr6{kGI4G=-@}sU zYjY{Q)J&aT{Q5=hzlic@*p^kgdi#kNyavLa1o|tKmINANvswhUJ%2t!Wo&w)y(728 zz!oLdeJZ0DoEOBd>P>LJLaY*;wi7gUhNieR)rl^>O6>`gtame_)zllR%~sC zHM`q-OSrZzpBrsEY_`W)%9p_kKk|ae>O<^>$kGsZKy({FjW1(t3t+~N2Q{E@Won8;O?TKhIacESY^Uw~3JvSv;4wfgd-}581!@Y^B0)eGb9SM8B4GxR# z*(=R**U7%qa5PM-gTqR{$aCB8$rK)h*(X|+FpuRhwc`+L^=~V#aE%v}mVd5JX~9cj z9=VIxr>#2nx1jk9#9Dn~ zwNGVtL8m=K=q%WDGsfjA+Zu*?L2UJb^@&&s>>Mz9E~4}N5j*z@hLW{>+^6fxLp-2S zyTF@}6fVpAYZcAkfyj$swfd}rQZ!wwjmc=D)1KrfSrKKQ7t~$qO%Ro+%Lk$T9+o_> zF!PjTdb)Dy_Dr;^qo-zkvOS$iyD$HN|g%_+|=}oK^S?wj(tJ$=6E$mlc zxl}Bgh4vd$?bbDMJ#0#?S)OEudcp3E-bB|Yb|tz$dSkP1jApI1CbV1nz-YG13r27A zCc3^c>O^-3YA1Z2 z>3$gQa60+DE8PT`CoXzu?J!HiQc@^R*U=uhp9b@SPxw><#)lz+OdsBCYNYS z#CVZeJJa$M9O&w`G^@Y!g7WG^?i1yz>lX3PBIN2HHmcNFK)wGQOvp1*QvK$6>w6AR zS&T}1-W%U5kq6&jgbB~@a0m%lYaopkjJegO9y!nY#JiWvofW|BGSL49E;PDM_Li=?d3qsT0f>Hmvp%$?QFEuNx=9Kh6 z3lUzh_>MOLRbsKwU8_L8%l5SQVbt^6NSrfXoQN6rvwQsbtYz;*n3CH_Dk4u{pKHK| zy4JRaF(XGs;|-%m7!4z}e;}Zby$Ps<#WDeX276z?p653%9eVgVKAul(H^*PWkleT| z-ro=MN^V?|H*u8btuT(|VC`F2^L(Za-dvp@>@@O|qqBL{Xq&$8U{Pk;Q~>6A?0=i` zgEx^WJXUbnx~_h-BJ;YVSZook|Ie@^OZOJ-_JB7JmNV&ZTRS zY6xY2U#?g8PUj%lXmUD#mLJ&V0ZZEI-gsZGpt;@;fen9JhdD-jcQTq$*Fawr7K>Vk zQeZ#WQ(IXNf+|N`sjpT+TN^=ne}Q)J+ZU{CVq-@%l`@ic`?@ZSxff^&rXS?3fD5$5 zO^dhn5Q_H~sA~*u(fY9AUZAq8A1sv=vFaUHiSzi6l;TS_<^b2!>2h{^L6K=R}?N3)BvH52%e;gaB9t80#ydj7!5rpU2Cxs2AdkePXw1vCExRA4&$QpeR}}FPN)7kye>G%Snr|T|id#4Ohi>*k)#SI&CN7 zhr?WHJDf*(z?@d=O-#Q+pTy)rom-hbevsIH)Sw*9LhV(>lJXUBCk0;^ip7;N8bi9CR zZZ45b{^J11&eR=u+d9gef!PkX_EtydOe{JA%%kZCWnCw~d` zn-8st53Dug=+)2LDZ`8#z&x0!zJITD8^MIVT2#S8H~YYp3{zA@p0hqzJL&*W+t-^| z%Fw085-_|T(}54Z`>i}?*@B4nbMAMPK=PdRyPSCtNEy0H137>L(GEg1p17epv!l5VD<>s4 zf~?YoZ@nO?dY{XYBtC0N@Z$O6s4fG=Rh5>)sYqL=qM(*vV0q(K3|_ESeMA*mbN#f= zdG+s0mm=l#xc7`^?Um}fK-0{EZ}YtLx&2co*Lm7R-!Kv+r&m*1p=6#|KN7mS3@FKh&fvp_dbGw?;eE-bg?_>PZ z$*%5P-jdb>R}aG>N2OaAwoEWuyW8a~Oi#30ukMXyyE5s8wh#09QO2f4iLUXfXtL)} zUcw+Scxq=?G7(GUEFa5T#jZlDhr{3|6%C?$ePr*Du6S!;lh#D4yvMv(I|>Kb$l+j8 zhF@5Umu~XPuSUj5@f^g!&^(7TCpI^xGe*t$t}g9Z{4O+}ZwznaEM#spb$4~8GdUyP z9L=;FIrm`WlZhx3kTP;H{x#p{t*fckj^p2J$KxP_YxuasaNuFQqZn6LyqEvXAElm; zvQ#+$e^(5t(@rXZ)M=+!-xVIJzR*y84gZJ*+jOcv8f}P>8hD&h@39jl*3V+=+Szd7h)OPWaqXc5FJ+krVr>>jwfXpm$J04JUBhG9;d#QGg~YI0 zsHL_=V}?`s(^lp`aJ;r6>=!HowpSC^D}2!vxuKm4Dym!-%qDlZ&sQhfW%%Xg*j$OtRX9dz%h$+n0Z4P2z1NmcyADVA z1CCJIl*tjeDeGl#`BqGRi&pFw*tiv&+p)O=n>(?&2b+7bxeuE^Ve&GXp2fX$28{2iN@uz3ZW*Rgp6o42re7n}F6 z`2d@bcoR5`uZp=@?i;ks=c)civSn7vn2_N&`3~D<*pxI+UypTgPiENER0p3sUUsu3 z;cCrO>sy-Y88;{0n$Gc~do4VG;Yn02PG6*@q|cDyDo#2oAp1mAR4dH7Sau3ZW4fyc zB`|5^3~eY=5je^pZyZ)Cv0?AFI_0PO#789$m=VW%8BY8v8jdsN`hx{jZ0%GMZhxDf zagK9eFkxi#HAG-5L2;kgs#v7Mn8(xyHgKvP=TP~oCa|fqr;$@qnP}1h%;T#8uNDc2 z4{jea|I_^O1G`n#t^^`ho-44K6A72dvQ~C?N^gEJ#obi=xAU;Z?qsezW9*hPx)H_B z!)AB4awmV9(bJq>WTbXWb@QdRA@{4CL&&F7V+K}pi$P#h8|9oL_j^I=V@HmTwT*3P zYm3*9scRiGCfZPMjEKkE#@0tiwMNIZjvm`k-#R*8Yt)VzU1!AWM>jOokBZlhXpPs7 zjEx>KCJ?L}85o>DE-C?^YM@^)W~k5$e8Hdo`chH@6cd5@V?I=d4iP2B1B+Iqv8{%u zyL018oG4~sm*Lz(l*RG)iBt|Hx1f$_9xmO(SUS~~Xz%UtPM^ex&uFs7z7yjKei7^gXS3M z6D~G@SS@dJ^*KhYn`>r!$Es7gHOTQz^1%8NP&Sx&e#{SzfNN$0Wk>!{>nM9>!UYvx z;L+49SEhC-fi-7k672|WYR>3v>M~-1LCu^`$c@kPj zn%LQD#GO$gUN@7qd4(ESbqZfLHtD?XKN47h_2(D|ck`K46C{B_Q?q$H1NqtGbgJEQ za)`6)s<^X?)8YiyK>S#>LH4XOH7gmWWRFEMD6vv6>{i%1TBym$1;W$#Hh5rF;W9AT zp$%6?F3aTct0a@r9_t5dqYO%7Y(_M*$jAg%mtWek@u_bEe{0zV5QTw9+Sa~xi@p*^ z`7~LDC9nw&ZcPSi;+LFVFuLgc z4=*PiJ0K7k$FeKS5dQl&j=mdz?#{9Yi_S8hWlxqymI*8qSthYeW|_jWCjWLSf8zIh zvEX?BzsJ~+k1>sZH=Sh$%S@J8EI8h5mc3c#ur#qWv&?0g$1Ddbn_V9JWe-H(9IKd z^Az1YO*en5n`i3gS-N?SZl1537wG1Nx_OaqUaXs!>gMlt^D^DMTsN=K%`0{DD&4$R zH~*lUH|XXcb@MjeyhAtd(#?Bx^FH0YUpF7n&4+aJVcmR0Hy_i@Cw22_-Ta$wKChcE z>gG$j`HF77rkii*=9{|twr;+woA2x9hr0QZZhoShpXufoy7^Dt{7N@X-CVAl-|FUn zbn|=N{I72QsGC3O<}W%0G@Ue-AWMiP!mYAl0T2D7ZevKGraEJIn=XW58lGnUO+ zwqV(kWowpgS+-}{k!2^AomqBasbQ&Qsbi^U8No7&Wem$WmOWV-SthbfW|_(|jb#SQ zOqSU!b6A>L=CLeb*_UNMmi<`{U^$2-%F@abV~Ml0v2?I3WJ$85Sh`paX34VTSPo%1 zl;ud4qgjq+IgaIcmJ?W(vYg0r63fXfr?8yL@(9bLERV7Lh2^g-Pq94B@+`}9EYGvN z$ntlVmsnn5d6nfgmN!`5WO<9_9hP@l-edWI1S>Ea{5IhEx4RQ!R78h-fQa=2?}i0Ag!jtBF=AUpbJ|) zNJCWEK!L60!qyGaP!+b8z&3DU8wF`&6}ExEHg{peg0zJS+gxDVxUg-5w4DmuMqoR- zu$_XmiwfIOV8dNlZIJ3!*l>Z3aABi@G+Kp?5ZJCRY_}lop~7|**mxJ#7^Dd*Y`nlG zxv(ignySJk32eFxn;E3pDr~yI=D4utAk9@_a|E`)h3y-p{Z!ZjfgRw&4hm9Kg&iQU zxC=9a)ULwf0$b?976qwOg)J0VmkT>MNEsE@C9rN6wj@Z0sIYE<9p=K02-1-%>@a~H z?ZS=?(s3&6Xn~#J!cGd(DJtv)ft~8YP7l&=RoJNlTjs*f3eq_$Y?;8$cVQO<>31sZ ze1To;!Y&Qc?^W2v0=wLWT@|FORoLYMyViwWAEX;p*tG)tqYJwwNVlr6KML$l7j{>W z?p9%U3hX`?c7Ko_P+|88>|q!7NRS>?VGj%JF&FliApKQ^JtnZHT-Y-~dRB!!C9vmR z*b71Wy9#?=U@yC{SA+DL3VT^#Z@RFzgY=FHdsATVxv&p|^bZyGp1?kKVV?!*a~1Zn zz`k%{{|wSsD(nk^nJ$civ|NRm0{hm5{U=D@sjzPa_LB?yB}iIGX|sM3SSTcIRwP6N zR9GnFG;OQ7ut6bOU4^YCur*xRnjuj5p)PFw5N)8sh6-$B7q&@=HdA363v3G) zwq=O6Qej&NY+Dz$eTa5YVcQC9M;Eqph;~t7I|{7Uh1G?qUWL^PY=jFN8KTiDY=pqZ zy0BeC^cxj6R$zO$u<;??9Xs;6$LUe-)yG~#?xv)Qm z=oS@rlfZ6wVRwe;E){mW!0vTne+tq4D(qf?J>?IfWN{C)nVJ`{nH5c|qh~89TuL{A!^MTovsVV?@@YZpc#`j-m(T43L}u>XYUI~DegzMDf3e!3&Yz=`8 zbz$p=X+sq@RA3vsu+74>xeD7@U|YDbt-`d83fn?pJG!u)!nCsr+fiV{U07|H>QvZp zfsJ%wqrx;sg^d*0SQqx2Fzu$o#tLkA7p8}4PZhSiz$Un`Nnx6z!X^l8FBdjFOfyv2 zUILr#!sdjjNrlZ8*gO}uAWZwJuz3P&abX9BDXPL+1Qv5)Mwr@FSWI9E7q&1=i&R)b zU?~^Y6{d^|O9`yog)IqFj|%G+*kLa0h%gnjuF^NF6@*rovOl4 z64>c3?94DNQ(>nI>}(fyUYO2TVP^~MLKk*%m@ZLa7Ygh$7j{LMu2Nx_3G5mdc3qhM zpu(;Z*bOf1rZC;C!fp`QtuE~LFx{!bZWY+wF6`bg{Yi!0EwBe%*h69ZvkH4aV2`=5 zzl7q3Y1@^WJdoN5MsIa#M z_K^$wBut;Gu#W`xxeNO;O#f72p9}137iNa(Un=Ztfqmn`{vD?OsIYGY_Pq=HZ-}bqQb%v8E3h$K@nPAg{>yAAuepq2(7Kch6rq3 z7q(u6)>mQc3T#6cwsC|uQDGYjY%>=&EJ9nTu+0Rvr3>3SLffdYEd{o{3)>+=JE^ek z1-6R|8y=xr6}F4O>Rs5#2#r!<^#U91!p25uoC+H)u-#nP?h)EUh3zJ=@h+?}LK9Wk zc!5oFVN)VBRfSCw*fbY5BSJG(*ffFd?ZTQO)U3kx7T7!&woioiRblf4*5bkrh|obQ ztVLk0E-V%yLxr^ptlfomL};N3YZqA3g{2~tR$)njb-A!igt}E&m%x^|u$~AVroxs8 z>~I%$WQ2}VVTTLsSQmC&gpOBX#|mtz3p*)7r>L-{0z1`(ogSgzs<2Z9w#%uOG(C<{(xdOY;gOH|l}0=q22cL3?~h)!3sT*ZGaqiZ7*m(z6-`UC%U zjyZG^*GhCl#QM0&{`jN)af=1NH8PoQkI)_b$3=8!WD4CAp?mq`z6kw^KOTtCgZ%Mu zgdX9KM@(czwpNs5qgq8o{G@Z{PApr{>C5AN9YCqcrikM=R;mVFGZ#<=Z!gx zUV-)swAZ1%&QZMqVF4?u5eG zV7dd4D4fxy$DnY|mY#z06f4g|;k+xo423hR^d=O}ozipr%-t0PG3Xeu{nJMg-74?0~8)#(=SkX1Wn;ED?CP~flzo9 zOlv^laV`yoGL)5#q3~Fhwt&K;QQ8p-k2h&J6dqC1NGKy&84HC+g|s^q9{14%C_J*G zy`b>ejb=mP(HYHy!s9P$fx;s!ib3Hq6eXbWD2Y-~cpOCCP`X(;3<{5B=olzGTA`Dm z@OXqyhr%NcIvWa)Dd<8dJZhlJpzyeWu7Pq5D>p#lzCGOvg?sOGHx%xl(*sbr2TqSc z;XXD!4TXEr^a2#_C)2A?xF<|+L*c$IeFTMjv-CL>?yu6q6oF8*K=MduX&76z+r3mQc8tMcYH+eiZEjg?ma= z4~6?eG#U!`c4#*!+@GQGP`JlJlb~>)gr-5^UI*Ap=@MsY;IyJo0^*gxdk>` zVcyI(dz#yr+p+9m?r830?qUvK&VSUI^=5-P!W`MiKi<$B$p;w8h*9QPbDa5`<^0DU z=6JJ_5fiyJde)qxn|tZz-n!YOo6Wj8S2ySB=6u~;pqu;X=DxbQpKiA3<^j5Spl%+d zn^E12>87EZ?Yf!J%|*J|shertJXklgy4kIpOLX%P-8@t`57W)Vb@NEwJX$x8)y?B| zbE$5gq?;$}=Bc`Qx^AAKo6B_bY~4IpH_y|}-|6Nhx_Py3UZb1W>E`vid82OLq?*k}n`M7TWMK_<&&A;mAQ@Z(#Za%A<&*|n1 zy7_nAd|5YN)y>y+^DW(cM>pTo%@1_*AG-OmZhoqppX=tAy7{$kl5YM>H^0%%f9vLV zy7_}{{;X4&r(X=^;kAw*^p&pmQ7eTWf{h@70Wg(+p+Ax zGMuG>WhBdJma#0mviyc+HV>zAWw=8F{oXN6`TepoprW1;)XRc;U8A>E)XRc; zUr--v^pT2sUr?V4>T`|0P*I->>MKE!M$1*ySAzOZP(Nt&UlsM8pneimAV@*(6czFH zlc2(UQ`cg3K#*2ZQDM2KJ4jH2gS3W<8YHMS1+{jN)=^Pw3Tiz;tskTfRn&Td+C)&B z25B=DwTYm%6x3Eh+FC_zDX8rQwL_40R#Dpvszy+CL26J@HG&!`s4+nrtD;59kDv||RBMo8D(XN%wF#;tNC_3yCa9#KQb9_qsHC8>g31MHv5LwHsz*?V2I+7W z)g!2*1a(Z1j#p7f32LdJP7Kn?Dr%{qP7~A_K{``KohGQW1$Aza&Qnom3+h5aT@<8C zRMdrnx=c`41nEi@b(x^95!7`-`h$wPMo>2j>ZTywtfFod)NO*gJxF(`sM`c}kD%@i z(w|h+J%V~rP!9#^&noIcK|L<0CxY~(ih5j7PYddAL3&O_JuRpg1@%&pUQtmm3hH%1 zy%D6hRMhK&dRI{I2k8S9^{${k64WO_`cy@IB&aV1^>vW`rJ}wR)Hj0qcaXkUQQrva z2SNQeNI$Bm9|ZNYpaLNZ@~Et+Rrpy@;gHiRtP-MCRa97RhYl3f;1CT_Q3D0FmY~)N z(Yh*XEkUg(s0~B3k&0SRP@4*B^AHVFQJV^CYe8)jqU}`F)`HqeP&FYMuA+7lRD+;K zg=mb5Y7o>oLG2cz-Br{$LFs~O4ABG?r3-43peBcCii(;fsQH50Cq(3{gr&B?XlhR9A=&R#9m|WdxNCQBFl= z1l295B_ZljQQd+%Oi)LJ=tvcHn4pdk)UhEtUPT=vs1pTsa)?e*Q6~!ObV2<#L}#d| z(*?CmP-lneTotuUQ0EKk!Vq1gqRto8rGmOFM3<|mO9ge6psoqgwJPc=L0vDX8$)!n zin?A(1sDBD-xuCuc(Z5yHazTABsQ-rOXBG9mpaOi$(HaGW!W7{|QBkW9kUNg63Tm}5 z4N_673TlX;)(q3yDr$(J))mxxVcI}Ntt+UF1hq++HdRp@32K<2whYtODr%UZwiVQN zVcK3rZ7Zl91hq?;YE;w?f~pr(LzqUWsCq$-7Sy;f?W&?i3u+HRjSo|!irPa^69qLn zOjA|VL_tjx)XXr=Qc=?cwYQ*}!!%b#?JcPJg4!oc`>Ck;g4$nD2ZZS$6}7*hS_Ksk zQ=5uv6;y|yl40spQ5}Lx3+mu7WmQyKP&q*@4$~njDkrEz1$B6sj#N>H3hHP<9UG?O zRMgReS}Ld$!*sHWS}Lg11ohi6ouQ&m6VzFPIwwr$s;ILBb%CIM7p99;)CGdNR8YSU z)8#7aQbAoQsH?+tt%|x*P}d9U#xVU+MO`nbTLg7mnC?(fw+QMkLERIk`&86jg1TQ& z4~FSs6?MO$9ud@|VR~FeJtC+l1odQ?o>Eay2h3OR)^`f9& z6Vw}FdP_yUCa8A=^=_EnS5fZ>>O(>OBTOHws1F78nV`N1(^o3$GeMD{mWSzE6-9#j zPEbFD=_eKSouGaZR4_szPOBHS9lr=_0N+BkT9{QMG*CqikUPkO1+_+m)>2V}1+|W# zhDK-u6}66_HWJjPoWxgA8wqMFL2VnM?NroOg4$6~J4dKSMeQi4Izcr=XoQNY6Vw<% z?HZxqsHic5(gn3=geIscT~Lz+wO53utEkC>nkA^&5t^f-W(jJppyo$tfr^?dsQm=B ze}oQHQTquhDyVpb+Ei3jPzgaTicqJDN(ky;L1iP9Q&9&CYO$aWiO``cYO$b>5Y*8T zIz~kuA*d4sbz+20R#7Ji>NG)}5ur0x)MP*(`* z>Ihwjib2pzey$-74xfLESH?ha&W66?MO${wk&2bQBiLS>U}|d7@>ctsP_f+F;CGri$3AGD4()?#(yoN&oLk6 ziwJ$mf1P7)XiY@{Yp}8=lr>pd3(8uotPN#tR@UL;{dhI4J76yw zI)FcDy#cg7|FHo+Xu|<~i-hlc@_iC|917nGp=Y4*-41#g3g6J6_o2Mc%BN8Hwgi0z zh3`DjcTo7|0{sMq?;lVY(=GTG0S$t}cL8WkD4gi0^`LMrpEiNQ>3Z4{3TNbLdnlZA zry3}nSErFsICW0rpm27abSRtvr^!$_$4xV!a2lJMpm3&|_JP95XgUxI=bNbw3a6AQ z35B!9l!d~HVd{axxnDX83a58zDHP7&(rHjQNlRx#;XEu|2!&IvbQu)RrqVS~IAKaR zLgAb!-3Eozo^%fs&TP_yP&j!>k3-@7Bs~prgn6Nbf@7Tp@h~h0}rb zB^1v1(Kk>ysYgFR;k+IF424s36vkAFFc0DeLg54(tp$a1XtW*_PLt85P&gAtTSM8J zm7Sn)K8qTlaLS6tLE)?v=}8OgbD_haa9V|qfx?*+IuQydN9c4Yod2L@P&maw=R@Hv23-n;6BTq7 z6wXD^^-wt7K(|8Si~`*ag_8#K02Iy((4$az=ub~V;n6)k2Zaal^g0wCqtp9PcoOaEE7AC_J#GAy9biO6x-5;VEqdg-4(?49YN8 zwuQ1SD?32pp(52o;n5(ChQb3r+5-xY>1ZMp9=6dmC_FNwy`k{ni{?Y&@fGb4g@;ho z3WY~W)B%MDLX?KWV;#yt;o%G&3WY~3bTkwml+aQrOIbM$3J)#lEGRsBpbMbz0D&%r z!eaos5(;3S&Klc!staA%$Fg2MfAx*rO6x#RDBRJaF;KWKMLHDjF41Ht+#{k{P`J}WbD?m*hW3NPT^EW% z;ob=)pl}C-4u-;g3|b6@yAgB*6z(a|2~fB*K&L_B_MXmx!c96|1ch5|x&jI}%yc~z zZhPrADBQf#{ZP0CrN2VqMv`8J!tEfv35A9bm3b z+YKmL35Km$E5Ok9184_F-En}j8Vv0;fR}?o>$KAV0CyT-jwbeZSK4_1?ZT}Ze^IzB z%(H!67KUfIEL^!V%*vHvc>2gvmJ?Y{VmX=R6qf$13{x|Jr~I(I%D*qSGE6P+>&wb8 zb&RWLX<+%5k2Qin|HGdvSB42Ww;xeEVRp3jk7q|u;O-C4SD}?F!&uC$Tp7kL7~N7r zR;~EaTnxZU~p%E02V0C38Z0cW+XOHDO{Wlsuo0n)bd05(ok9*N*hCI0FV0t;Q#;t literal 0 HcmV?d00001 diff --git a/src/Server/.vs/Server/FileContentIndex/52f5c528-e369-47df-a1cf-ae04d5943866.vsidx b/src/Server/.vs/Server/FileContentIndex/52f5c528-e369-47df-a1cf-ae04d5943866.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..be3e575172f3019afa32def3fa0fe38536cef046 GIT binary patch literal 12205 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 Je!N%4{{nRqWtji~ literal 0 HcmV?d00001 diff --git a/src/Server/.vs/Server/FileContentIndex/6a93b343-6473-4eec-b8e1-a5832b44f301.vsidx b/src/Server/.vs/Server/FileContentIndex/6a93b343-6473-4eec-b8e1-a5832b44f301.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..d6da33a88268ebce472a337989fe62efe30e3d1a GIT binary patch literal 3498 zcmY+F_j+4J5XCoz5Fii&p*JC#4eo?y8z-`)NJ?bM(Uoij7vd5T3xoxdZCXML1d~ug z@4bcIdwq<2JOdBFpPVy$qz`22{6@30v$L~%t#~4}VXbrfk9YQJc({2mJ{Xpol}0n1 ztTdaIT9}`&BpTJFN~AlIuJ5iiXXonmS|l?+SFhEk=XZtGwpGjwguwvf3iX-#LUndJ z3@VMKN+ZlxXJi%Xiwl)T&unww#+?T@FaEV6wbC!W%7BtqI|ucKx3{#MQ!RhQxx;2- zs2z!5|Gv&SyxV!YEGFF=Mf|vV{6vhda4u`3m<6Zzx5JPJ@lc-!1{OsD(006^1%-c4 zD;pxy&K+_tG$%%@- zY#9F?@-YZ#JO62|<%hf=paOesMs& zT-+pHAzmq7C0;FFBMyo~;;?wFI3jKqw}>%uRE&!WF)3~pQ({`oh}*>NA}*)xe@x7Y zc@cNh#&?JXF%XMlNt_TTMO=8BkN*V5>%|*HJY?p-QM^gqDNc#g;*2;e?h-5F&Ejrx zPOOTzh_{M0@ivh^9()e!;_c!cB7bB!-V_(aMR7^IQ@l&OTf9fSSH%AW%ePm&PrP4z zKzvYqNZcnrEIuOc7atXu#mB@0;z99o@d@!s@hS0;__X+p_^kMx_`LXn_@eld__Fwl z_^SAt_`3Lp_@?-l__p|t_^$Y#_`djo_@Q`M{7C#*{6zdz{7n2@{6hRv{7U><{6_p% z{7(E{{6YLt{7L*-{6+j#{7w8_{6qXxJg^!DUTg4)x=uF)?RP!U7=AyZF7EQsz!mW$ z%MofEns6Ct+WgyH5_SRFjqhd5?nhLQqrV6KJTx$S0$F?AHhk-|wfc;V?y^<;-6nYY z+^}UHwsm7zFNt|^_+nU>b^=*rsDPSvCFq#>a~NUW{c~oX7VmDOIDqBq1;zLxj74;XOC9KB& zQMrB^^#{-*I!ERH*cIOo?v4HR`_8!(Z1#a2ABF~~mZzAvGcH@d0_#Nq${bYok)7cQ zCGCU)D1A9p)(PcZ$YG^1Q~G%hJjEIR8^8Ms%Dd8pkb`Hztb@?*~sJfVR#ciY&bE)HIa0l6iT+d zeD((~`Np8o>Nx;YR4 literal 0 HcmV?d00001 diff --git a/src/Server/.vs/Server/FileContentIndex/6f6aedf3-f7d0-494a-9770-6a5416fc9d90.vsidx b/src/Server/.vs/Server/FileContentIndex/6f6aedf3-f7d0-494a-9770-6a5416fc9d90.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..0cc959f9bc325f5d9eb5d5e57d5ec33e95962858 GIT binary patch literal 4450 zcmYk9cVJUh6vi)5aG)Yi+-Y5nwxKP>(I~b}LK8^S@{&+1L4^{bS{rN%Zmr^;xWSFM z_uixKg^C+-?=31S{-@t}-WRk@zTbK0o_p@O_nr3&k!Z{4b)B0q+SyN^57!Gu8gkiU zzOR_;$QO(Go?KgRKHAqkKOd+L#0#_Y#jZJpLQf#kJEzdoGoyD_u6wPONz~=ib%^r{ zGYkFQT{Cj&eBbKb%u+u5Tm2AA&BoS!KVp!WcUv=%NAk5mYN z0Y3~J;E@02#3+VP!y;SG4}!0rfa#K1<9p=Q8tv{~@@b)qUvL?n(Ex;D?C?&;iaUuri@S)sij`te z+)dnFtP-omkT_PX5o^UdahzB$ju-b3_Z0UM_ZAz(u(*%7uQ);6Piz#M#AY!fMn${` z?3^cxEn-|uh?B(0Vp41sQ(~LgF5-=8`8_c$X2h&GRqPP=7dyoR#Aza)8_PRgJWxDH zJXo9|&J?@ESz=y1M4Tda=LK=Dc!bD5h8!=7{o*`vzIdc~ zlz6mwjCibgoOrx=f_S1hAf6lOp_=xzZ_?Y;(_=NbR_>?#(J}o{YJ}W*aJ}CJZ;Ee;Z;S7U?~3n!YkK#|_&*CrQD)CqGH}Q9IwfKklr}&q+M*Le`IUELl zM&Mh4-zt3TTn)6|bi8TAwZRj28EDRVuF?fv7&_U-ph=g2rZF0HA!s!`F<2qY2)QQL zZWcY0kSC~jcKiE9af59-6s6Qi8>j3 zp@yMJmxZ>Pza8~7VGo{Z2AVd18f-%KoSU)uEao-2PVAXl>6*bPl;_ZlJ=5mio3Rtx z9_BV&^4wI|X`CUI ztMk6c@Qs@?Plv6@YPoh6+J@QGEY@Tfw7{Q%a#o9*=BC^1COg?y(~O;K+)gr@X^Sc2+u%zeXT8C9V`<3TGO+k78sJuhWnzY>}k*5JR z_rtzPnWk-?2W`g~Pcvv5hB9vo`|`CFHqW103FSTEiHA%xrqiHpSSMxY$U9LDo2S`^ zJRX#Hp4tgzzfn1dJL7JvOv9#WQ$AImje1y-C!RvBW8q=fM@&5^cf>u!pv=Ulf_4_O z+U*{fdV*)j&PYS~H1oOXgz^bsU(gf7|6HkzVJ~=AC%ebr2Rq1r-nc7v66as;b7xKLU-o5{X@e>E#E#+VayCzt%A7ncf5)sY2%A2>L6|LTb+E%&O$5s4 zmCE|q*L=$`j-A3eDQFt2QzOXDj`GiFDppU})77b6@!b^0-QfGU6L%+R&r;Y<(|=Rv X?Cnk|!*`Uf_^&Sh3=H#`8R_$1CVjUh literal 0 HcmV?d00001 diff --git a/src/Server/.vs/Server/FileContentIndex/b61403b8-0c55-44ff-9a4b-721609025b25.vsidx b/src/Server/.vs/Server/FileContentIndex/b61403b8-0c55-44ff-9a4b-721609025b25.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..cfcca56c7e15d8ee936898a71480d8d96106034b GIT binary patch literal 6608 zcmYk92VmS~8OFarDVw(JO?s>ZLYjoKl0th;(&U=tlHOfNL$1(4prL8gHfd370a3AT zRNM>eMg&ycf}*In7cQK2)s47NMB(?m|L4Hu^8CL4cklat@B6LGb$0d4J0PXok4y2h zB}3W>JKL+n)8kvGt0Uvn)8muX!A;{`TPL=U*Pm10J9YK=^t$y^QFdE~Ly zZ4cE=&dNsKH!wG)ed0yqyp-zVRi6@%$D~BQd!tQ1Zgd_IJx{sNpdYhbN=qURmUP|~ z#x&?hiHs78cb`b9A*CC`3rAjrZK=8Qcwfyjdv|t9dulHGrF3fqIWna?Qo13fe7Ntb z4Si5b=R})i?oDZTO7)Q;mbheE7h}z|HrL;JD2zXPh1rtt6SY}EU*z+Po+LWA&%x5CV z#i8_5LS0M|(?x>>=-eF@Ws{l3p)Ot+5WEt}GbaS6ld$B^=nR4KA_wODij>%m#K#Or zszb47AgacUeq4w~=UJiES`dOW53F@&hU0Y+leDpC5-5Kr2AUu9OsLTa$O7>$B@f25 zUmpqccw4+n4p=UUHQEya8G^BP$GKpvT+IM8W|gI+k?j_SCQp1xl{hqTB>sKjj&DnJ zQZHuNgkZyKMOfY(iZ5QwAxh*cYKzW{@tPH#gsQ8RMtm&k&!x0IC3eN#wV|5Hcv6@&G}}|Jk>nSWDX<#8RnU0gV|`Z zQNoTD3^ti;<#=v37nm((tJ!9rYc4d|nBjlEd4YMMd6C&}c9@GyPC@uzVlFn9n0a%l z*=cr}-R3g0$Luu==5n*o>^BF@qRF0*e1=R8TRfM{vRN^Q%}dP@bEU~G68@K&+%xga z%@kZ^UT$)Nqkpxz#$0QzGp{tq&8y6-&GqJld5yWjoHRF@o6IS5v$@6GYEGLo<~Ebd zB=Wx2e1`c<^I0Z0PS`!$+-Y8CazVxWH<-^cZ#184KF@rx-^F`*1&6k)j zHD6}F+`QR*h51VJRpu?`tIgM#uQgw1zTSL;`9||i=9|s8m~S<2HQ#3LHs5Z(!+fXt zF7w^yd(8Kmx0&xVZ#Um>-eKNp-erEk{GjfH9`j!F z)8=Q)`^?XppEK__KW~1){G$1Q`6ctq=2y(GnqM=&Zhpi3rui-N+va!72hH!A-!s2& z{=od9`H=Y|^T*~-%%7S+Gkl8a`LOvH z^AYo}=HJY}oBuHXX+CQH%lx`vPow<*>uQ|)y&zx=UZysPC zXdYx9Y#w4BY940JG3T1|%)`wi%p=XC%%ja?%wx^t%;U`y%oEL%%#+Pi%zAUanKMr{ zPcu(9&oIw48_Y)YEc0x$$vnqwHW!#JW~&z?7aq}wkYID6gVP0cyFelB8<|cE>+-z2E1IfK^Lcg{8DPw1f9FzAQBU zD#mS1JF#pFn}z8D{PZ_QtyMCYR?;FyD20|$jkqXA%#(9Bm31Om87)@G0hhvlxYRab(>dIr$ zKy6yhrMy=_2N_E`h$?ec-V(YnB9$GlGh%5C2I$eMbrH7%)f}j{WufZtCX%#*j$$Qk z3T+N;4_%Fgc8yfkD4JGv1Xavz=A_xo^+k^?m(eFJpsGTu{(eJ_xc0(?-5!KD3U8}oXCs3+-bZ_hA$fldsl*(6oT`HU2@Xcs;!lS6$hz*E;K7);dcy;?wJvt$^C$hP##NJVlesy2y9@po&?(_~+ zYbw9bLvsLD^OPtLKVPtGx-ufj@aU0My@foi9yhD_C?I&?R6hL*!`IIX6x i!T8T(XH>g0KAW53{~F0G{^s~;m-)Cl`FUV&#wP*({c+_0 literal 0 HcmV?d00001 diff --git a/src/Server/.vs/Server/v17/.futdcache.v2 b/src/Server/.vs/Server/v17/.futdcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..e79e4b23ee2ac46a07f448d017d66d6e8fa52e5d GIT binary patch literal 676 zcmZQ!U|`5~wu%WYPAw{q2~RC9PR)t&&r5YF$}CG&&{gorPfsmQ&dATtQSi*m$j`}1 z%u9*MgtJ0Cjbeh0fa-$slk!V4lM`ctQ;W({i=dQGW)gy>mt0&>l%K@}w2{|2KQApa zy|gH?Br`vc)g?8lG@T>gq(@0fK@5~8(Uq(A%vM_!Xi?z~be+!P?b|@E iq(!U)T?dVSIEzG=hFd=p7Z6CT-y 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 + + + + + + + + Exe + net8.0 + enable + enable + + + diff --git a/src/Server/Console/Program.cs b/src/Server/Console/Program.cs new file mode 100644 index 0000000..477ac78 --- /dev/null +++ b/src/Server/Console/Program.cs @@ -0,0 +1,24 @@ +namespace Console; + +using Routes; +using LibServer; +using LibServer.Router; + +internal static class Program { + private static readonly Dictionary Routes = new() { + { "/", new Root() }, + { "/routeclass", new RouteClass() } + }; + + public static void Main() { + var tcpServer = new Server(5000); + var router = new Router(Routes); + + // EXPERIMENTAL! Current code is only meant to be used as REST API. + // router.RouteDirectory("D:\\Documents\\[01] Development\\[00] HTML\\[00] portfolio\\v6"); + + while (tcpServer.Listening) { + tcpServer.AwaitMessage(router.Handler); + } + } +} diff --git a/src/Server/Console/Routes/Root.cs b/src/Server/Console/Routes/Root.cs new file mode 100644 index 0000000..f1d5746 --- /dev/null +++ b/src/Server/Console/Routes/Root.cs @@ -0,0 +1,20 @@ +using LibParse.Json; + +namespace Console.Routes; + +using LibHttp; +using LibServer.Router; +using LibParse; + +internal class RequestData { + public int Id; +} + +public class Root: IRoute { + public HtmlResponse Get(HtmlRequest request) { + // var data = request.Body?.FromJson(); + var data = request.Body?.FromJson(); + var response = new HtmlResponse($"{{\"message\": \"you are at /\",\r\n{data?.ToJson()} }}"); + return response; + } +} diff --git a/src/Server/Console/Routes/RouteClass.cs b/src/Server/Console/Routes/RouteClass.cs new file mode 100644 index 0000000..554252f --- /dev/null +++ b/src/Server/Console/Routes/RouteClass.cs @@ -0,0 +1,17 @@ +using LibParse; + +namespace Console.Routes; + +using LibServer.Router; +using LibHttp; +using LibParse.Json; + +public class RouteClass : IRoute { + + public HtmlResponse Get(HtmlRequest request) { + // var data = request.Body?.FromJson(); + var response = new HtmlResponse("test\nyes"); + response.Body = response.ToJson(); + return response; + } +} diff --git a/src/Server/Console/bin/Debug/net8.0/Console b/src/Server/Console/bin/Debug/net8.0/Console new file mode 100644 index 0000000000000000000000000000000000000000..4c57750180adaa01070a3ee318674de52eda4bff GIT binary patch literal 77288 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%0AM*8^Iq|-MIXlgj3%f9ycd6qxKj3bE2V7fAj{P{ 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 F{{ucYlZ5~P literal 0 HcmV?d00001 diff --git a/src/Server/Console/bin/Debug/net8.0/Console.runtimeconfig.json b/src/Server/Console/bin/Debug/net8.0/Console.runtimeconfig.json new file mode 100644 index 0000000..becfaea --- /dev/null +++ b/src/Server/Console/bin/Debug/net8.0/Console.runtimeconfig.json @@ -0,0 +1,12 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + "configProperties": { + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/src/Server/Console/bin/Debug/net8.0/LibHttp.dll b/src/Server/Console/bin/Debug/net8.0/LibHttp.dll new file mode 100644 index 0000000000000000000000000000000000000000..e3afb31a06c8480ec8cb3d9b44e4a1a89479443a GIT binary patch literal 8704 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 literal 0 HcmV?d00001 diff --git a/src/Server/Console/bin/Debug/net8.0/LibParse.dll b/src/Server/Console/bin/Debug/net8.0/LibParse.dll new file mode 100644 index 0000000000000000000000000000000000000000..63dfb1bd2652013e29a01cc1fad528f32e7cba19 GIT binary patch literal 14336 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 literal 0 HcmV?d00001 diff --git a/src/Server/Console/bin/Debug/net8.0/LibParse.pdb b/src/Server/Console/bin/Debug/net8.0/LibParse.pdb new file mode 100644 index 0000000000000000000000000000000000000000..1ee188e74ad7bd895aac8bf058ea10bd53881035 GIT binary patch literal 15968 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 literal 0 HcmV?d00001 diff --git a/src/Server/Console/bin/Debug/net8.0/LibServer.dll b/src/Server/Console/bin/Debug/net8.0/LibServer.dll new file mode 100644 index 0000000000000000000000000000000000000000..1d8baf3da5a0490db337b7030d0b3085ce3aa3e5 GIT binary patch literal 10240 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 literal 0 HcmV?d00001 diff --git a/src/Server/Console/bin/Debug/net8.0/LibServer.pdb b/src/Server/Console/bin/Debug/net8.0/LibServer.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7d59a1ac8a463c4e9ca53b24e279c0f67c10dab2 GIT binary patch literal 13144 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%0A^FpAOYnXgJP)Fe5`NodzZ&h6^GGZD;3Y># z;AbP|l}FE`wa~A!rv%vv@VzK^VvL-%3gnzcuXpB@FjmgeMwus;aAxyW4P{x)uQx** z(epIC2vSz-Xt9r>os-&zjNlr&4gNS53drouSsP_|uFV$Dssj(K>j2jfg$3BSBDN#{ z-ddy6U#KmPafGT%BOX34QE%c4(lsv&PKlRPc4mQ7>$K51cg2=vXxIIOaqZbH^*I%s zpvLLm4rw)@MKcR0FW47G?*7Z6@4xu)WfSDr6eZ--NC^OmMwyH-2uOM;KuT;N64X>Q zp(gSxk@oiX#Z3!i`&I@bk=V_l*rAvn6A?9P1W1L{uTg9t{Dl~~xk>YdRt7>L++AWP zK}48l#Hs>}K2KCUh~ zVC$7(t2}UmpK^FijvwLsg95!Kg)d7x6kX!eBX z>xijO597cOv4sW=yw)|>uTm6NC?IbV_(*{cI`K}2A5oV=2}!Kiv#I=+q)3Tt3tg$r z+mb1f>&kU)>D*e#CQ-JDt%cOJsV!UaHpby0Os@pw%Oar1#I?6xp83W3he#P3<@d7( zP?PxHljN7TYGETL@w!V-L-uroj8*vEv9XM0`ZI6c`N)#-dscLxd&Ih?>Ft$e_R+U} zVxNNx&BOtmF~Xb}DT{s^2a~o@8?=hT$sMsQQ%jeRSh!u4^ApA_HlE%zk=X>jF)M4~ zJk%$=q*WUn#}iiewh5WKiL!8!*}5oE$!94u*t2Q#7OIA&)xzSTKl4=lw--M1+~HF{ z{^9Fw)lWSZ7lsD6nNF~AmoFExhSN_f z(4&4APVrqqp2yzNGv5hc--=4mH<2L?D{}74)Z^g!`G^(- VhEJl@-EcU3L?it;tp7m<{sSffY^MMK literal 0 HcmV?d00001 diff --git a/src/Server/Console/bin/Debug/net8.0/ServerLib.pdb b/src/Server/Console/bin/Debug/net8.0/ServerLib.pdb new file mode 100644 index 0000000000000000000000000000000000000000..cac5a1b3f6b72da7303d4480d793b1193f5bbca0 GIT binary patch literal 11512 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 + + + net8.0 + enable + enable + + + diff --git a/src/Server/LibHttp/MimeTypes.cs b/src/Server/LibHttp/MimeTypes.cs new file mode 100644 index 0000000..a48e84a --- /dev/null +++ b/src/Server/LibHttp/MimeTypes.cs @@ -0,0 +1,25 @@ +namespace LibHttp; + +public enum Mime { + Json, + Html, + Text +}; + +public static class MimeTypes { + public static string MimeToHeader(Mime mime) { + return mime switch { + Mime.Json => "application/json", + Mime.Html => "text/html", + _ => "text/plain" + }; + } + + public static Mime HeaderToMime(string header) { + return header switch { + "application/json" => Mime.Json, + "text/html" => Mime.Html, + _ => Mime.Text + }; + } +} diff --git a/src/Server/LibHttp/Request.cs b/src/Server/LibHttp/Request.cs new file mode 100644 index 0000000..313e2b0 --- /dev/null +++ b/src/Server/LibHttp/Request.cs @@ -0,0 +1,59 @@ +namespace LibHttp; + +public class HtmlRequest { + private const string LogPrefix = "\u001b[47m[ WWW ]\u001b[0m"; + + public string? Route; + private string? _httpVersion, _host, _body, _header, _method; + + public string? Method => _method; + public string? Body => _body; + + public int Parse(string raw) { + // _body starts after 2 new lines, cast to `_body` + var body = raw.Split("\r\n\r\n"); + _body = body.Length > 1 ? string.Join("\r\n\r\n", body.Skip(1).ToArray()) : ""; + + // Split the raw request into parts (one line per part) + var parts = raw.Split("\r\n"); + if (parts.Length == 0) return -1; + + var isHeader = true; + + for (var i = 0; i < parts.Length; i++) { + try { + if (i == 0) { + if (!parts[0].Contains("HTTP")) return -1; + var first = parts[0].Split(" "); + _method = first[0].ToUpper(); + Route = first[1]; + _httpVersion = first[2].Split("/")[1]; + } else { + var components = parts[i].Split(": "); + + switch (components[0]) { + case "_host": + _host = components[1]; + break; + default: + if (parts[i] == "") isHeader = false; + else if (isHeader) _header += parts[i] + "\r\n"; + break; + } + } + } + catch { return -1; } + } + + return 0; + } + + public void Print() { + Console.WriteLine("{0} _httpVersion:\t{1}", LogPrefix, _httpVersion); + Console.WriteLine("{0} _host:\t\t{1}", LogPrefix, _host); + Console.WriteLine("{0} Route:\t\t{1}", LogPrefix, Route); + Console.WriteLine("{0} _method:\t\t{1}", LogPrefix, _method); + Console.WriteLine("{0} _headers:\n{1}", LogPrefix, _header); + Console.WriteLine("{0} _body:\n{1}", LogPrefix, _body); + } +} diff --git a/src/Server/LibHttp/Response.cs b/src/Server/LibHttp/Response.cs new file mode 100644 index 0000000..33c7a67 --- /dev/null +++ b/src/Server/LibHttp/Response.cs @@ -0,0 +1,74 @@ +namespace LibHttp; + + +public class HtmlResponse { + private static readonly Dictionary StatusCodes = new() { + {200, "200 Success"}, + {403, "403 Forbidden"}, + {404, "404 Not Found"}, + {405, "405 Method Not Allowed"}, + {500, "500 Internal Server Error"}, + {501, "501 Not Implemented"}, + {502, "502 Bad Gateway"}, + }; + + private string _httpVersion = "1.1"; + private string _status, _body; + private readonly Dictionary _header; + + public string HttpVersion { + get => _httpVersion; + set => _httpVersion = value; + } + + public string Body { + get => _body; + set => _body = value; + } + + public Dictionary Headers { + get => _header; + } + + public HtmlResponse(string body, int statusCode = 200, Mime mime = Mime.Json) { + _body = body; + _header = new Dictionary(); + _status = StatusToString(statusCode); + + if (SetHeader("Content-Type", MimeTypes.MimeToHeader(mime)) != 0) { + throw new Exception($"Failed to set `mime` header of value `{mime}`"); + } + } + + private static string StatusToString(int statusCode) { + return StatusCodes.GetValueOrDefault(statusCode, "400 Bad Request"); + } + + public int SetHeader(string key, string value) { + if (_header.TryAdd(key, value)) return 0; + + return -1; + } + + public void SendFile(string path) { + try { + _body = File.ReadAllText(path); + } catch (Exception e) { + _status = StatusToString(500); + Console.WriteLine(e.Message); + } + } + + public string Build(string linebreak = "\r\n") { + return String.Join(linebreak, + [ + $"HTTP/{_httpVersion} {_status}", + $"Content-Length: {_body.Length}", + .._header + .Select(pair => $"{pair.Key}:{pair.Value}") + .ToArray(), + "", + _body + ]); + } +} diff --git a/src/Server/LibHttp/bin/Debug/net8.0/LibHttp.deps.json b/src/Server/LibHttp/bin/Debug/net8.0/LibHttp.deps.json new file mode 100644 index 0000000..78a3e88 --- /dev/null +++ b/src/Server/LibHttp/bin/Debug/net8.0/LibHttp.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "LibHttp/1.0.0": { + "runtime": { + "LibHttp.dll": {} + } + } + } + }, + "libraries": { + "LibHttp/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/src/Server/LibHttp/bin/Debug/net8.0/LibHttp.dll b/src/Server/LibHttp/bin/Debug/net8.0/LibHttp.dll new file mode 100644 index 0000000000000000000000000000000000000000..e3afb31a06c8480ec8cb3d9b44e4a1a89479443a GIT binary patch literal 8704 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 literal 0 HcmV?d00001 diff --git a/src/Server/LibParse/Json/JsonReader.cs b/src/Server/LibParse/Json/JsonReader.cs new file mode 100644 index 0000000..8d08c32 --- /dev/null +++ b/src/Server/LibParse/Json/JsonReader.cs @@ -0,0 +1,414 @@ +namespace LibParse.Json; + +using System.Collections; +using System.Globalization; +using System.Reflection; +using System.Runtime.Serialization; +using System.Text; + +public static class JsonReader { + // `ThreadStatic` due the fields needing to be static in order to be accessed in static functions. + // Declaring them here prevents the need for them to be passed as parameters to every function. + [ThreadStatic] private static Stack>? _splitArrayPool; + [ThreadStatic] private static StringBuilder? _stringBuilder; + [ThreadStatic] private static Dictionary>? _fieldInfoCache; + [ThreadStatic] private static Dictionary>? _propertyInfoCache; + + ///

+ /// Deserializes a JSON string into an object of type T. + /// + /// The JSON string to be deserialized. + /// The type of the object to be created. Can be either a class containing public data fields + /// or an anonymous `object`. + /// An object of type T populated with the data from the JSON string, or the default value of type T if the + /// JSON string is empty. + /// + /// This method initializes thread-static variables, removes all whitespace characters not within strings from the JSON + /// string, and then parses the JSON string into an object of type T. + /// + public static T? FromJson(this string json) { + if (json.Length < 1) return default; + // Initialize, if needed, the ThreadStatic variables + InitThreadStatic(); + // Remove all whitespace not within strings to make parsing simpler + json.RemoveWhitespaces(); + // Start parsing the JSON string and cast it into + return (T)ParseValue(typeof(T), _stringBuilder?.ToString()!)!; + } + + /// + /// Initializes thread-static variables used in the parsing process. + /// + /// + /// This method checks if each of the thread-static variables is null. If a variable is null, it initializes it. + /// For the StringBuilder variable, it also ensures that it is empty by calling the Clear method. + /// + private static void InitThreadStatic() { + _stringBuilder ??= new StringBuilder(); + _splitArrayPool ??= new Stack>(); + _fieldInfoCache ??= new Dictionary>(); + _propertyInfoCache ??= new Dictionary>(); + + // Make sure `_stringBuilder` is empty + _stringBuilder.Clear(); + } + + /// + /// Appends characters to the StringBuilder until the end of a string is found in the JSON. + /// + /// Whether to append escape characters. + /// The starting index in the JSON string. + /// The JSON string. + /// The index of the closing quote. + private static int AppendUntilStringEnd(bool appendEscapeCharacter, int startIdx, string json) { + // Write the starting quote to the string builder + _stringBuilder?.Append(json[startIdx]); + // Loop through each character in the string and replace double backslashes with singular, stop if a closing quote is found. + for (var i = startIdx + 1; i < json.Length; i++) { + switch (json[i]) { + case '\\': + if (appendEscapeCharacter) _stringBuilder?.Append(json[i]); + _stringBuilder?.Append(json[i + 1]); + // Skip the next backslash as it will be replaced + i++; + break; + case '"': + _stringBuilder?.Append(json[i]); + // Return the index of the closing quote + return i; + default: _stringBuilder?.Append(json[i]); break; + } + } + + return json.Length - 1; + } + + /// + /// Removes all whitespace not within strings to make parsing simpler. Writes the outcome to `_stringBuilder`. + /// + /// The string to remove all whitespaces from. + private static void RemoveWhitespaces(this string str) { + for (var i = 0; i < str.Length; i++) { + var c = str[i]; + if (c == '"') { + i = AppendUntilStringEnd(true, i, str); + continue; + } + + if (char.IsWhiteSpace(c)) continue; + + _stringBuilder?.Append(c); + } + } + + /// + /// Parses a value from a JSON string into an object of a specified type. + /// + /// The type of the object to be created. + /// The JSON string representing the object. + /// An object of the specified type populated with the data from the JSON string. + private static object? ParseValue(Type type, string json) { + if (json == "null") return null; + if (type == typeof(string)) return ParseString(json); + if (type == typeof(decimal)) return ParseDecimal(json); + if (type == typeof(DateTime)) return ParseDateTime(json); + + if (type.IsEnum) return type.ParseEnum(json); + if (type.IsArray) return type.ParseArray(json); + if (type == typeof(object)) return ParseAnonymousValue(json); + if (json[0] == '{' && json[^1] == '}') return type.ParseObject(json); + + if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>)) return type.ParseList(json); + if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Dictionary<,>)) return type.ParseDict(json); + + if (type.IsPrimitive) return Convert.ChangeType(json, type, CultureInfo.InvariantCulture); + + return null; + } + + //Splits { :, : } and [ , ] into a list of strings + /// + /// Splits a JSON string into a list of strings. + /// + /// The JSON string to be split. + /// A list of strings obtained by splitting the JSON string. + private static List Split(string json) { + var splitArray = _splitArrayPool?.Count > 0 ? _splitArrayPool.Pop() : []; + splitArray.Clear(); + + // return [] for empty arrays/objects + if (json.Length == 2) return splitArray; + + _stringBuilder ??= new StringBuilder(); + + var parseDepth = 0; + _stringBuilder.Length = 0; + for (var i = 1; i < json.Length - 1; i++) { + switch (json[i]) { + case '[': + case '{': + parseDepth++; + break; + case ']': + case '}': + parseDepth--; + break; + case '"': + i = AppendUntilStringEnd(true, i, json); + continue; + case ',': + case ':': + if (parseDepth == 0) { + splitArray.Add(_stringBuilder.ToString()); + _stringBuilder.Length = 0; + continue; + } + break; + } + + _stringBuilder.Append(json[i]); + } + + splitArray.Add(_stringBuilder.ToString()); + + return splitArray; + } + + + /// + /// Parses a decimal value from a JSON string. + /// + /// The JSON string representing the decimal value. + /// The parsed decimal value. + private static decimal ParseDecimal(string json) { + decimal.TryParse(json, NumberStyles.Float, CultureInfo.InvariantCulture, out var result); + return result; + } + + /// + /// Parses a DateTime value from a JSON string. + /// + /// The JSON string representing the DateTime value. + /// The parsed DateTime value. + private static DateTime ParseDateTime(string json) { + DateTime.TryParse(json.Replace("\"", ""), CultureInfo.InvariantCulture, DateTimeStyles.None, out var result); + return result; + } + + /// + /// Parses an enum value from a JSON string. + /// + /// The type of the enum. + /// The JSON string representing the enum value. + /// The parsed enum value. + private static object ParseEnum(this Type type, string json) { + if (json[0] == '"') json = json.Substring(1, json.Length - 2); + try { + return Enum.Parse(type, json, false); + } catch { + return 0; + } + } + + /// + /// Parses a string value from a JSON string. + /// + /// The JSON string representing the string value. + /// The parsed string value. + private static string ParseString(string json) { + if (json.Length <= 2) return string.Empty; + var parseStringBuilder = new StringBuilder(json.Length); + for (var i = 1; i < json.Length - 1; ++i) { + if (json[i] == '\\' && i + 1 < json.Length - 1) { + var j = "\"\\nrtbf/".IndexOf(json[i + 1]); + if (j >= 0) { + parseStringBuilder.Append("\"\\\n\r\t\b\f/"[j]); + ++i; + continue; + } + if (json[i + 1] == 'u' && i + 5 < json.Length - 1) { + if (int.TryParse(json.AsSpan(i + 2, 4), NumberStyles.AllowHexSpecifier, null, out var c)) { + parseStringBuilder.Append((char)c); + i += 5; + continue; + } + } + } + parseStringBuilder.Append(json[i]); + } + + return parseStringBuilder.ToString(); + } + + /// + /// Parses an array from a JSON string. + /// + /// The type of the array. + /// The JSON string representing the array. + /// The parsed array. + private static Array? ParseArray(this Type type, string json) { + var arrayType = type.GetElementType(); + if (json[0] != '[' || json[^1] != ']' || arrayType == null) return null; + + var elems = Split(json); + var newArray = Array.CreateInstance(arrayType, elems.Count); + for (var i = 0; i < elems.Count; i++) newArray.SetValue(ParseValue(arrayType, elems[i]), i); + _splitArrayPool?.Push(elems); + return newArray; + } + + /// + /// Parses a list from a JSON string. + /// + /// The type of the list. + /// The JSON string representing the list. + /// The parsed list. + private static IList? ParseList(this Type type, string json) { + var listType = type.GetGenericArguments()[0]; + if (json[0] != '[' || json[^1] != ']') return null; + + var elems = Split(json); + var list = (IList?)type.GetConstructor([ typeof(int) ])?.Invoke(new object[] { elems.Count }); + foreach (var elem in elems) list?.Add(ParseValue(listType, elem)); + _splitArrayPool?.Push(elems); + return list; + } + + /// + /// Parses a dictionary from a JSON string. + /// + /// The type of the dictionary. + /// The JSON string representing the dictionary. + /// The parsed dictionary. + private static IDictionary? ParseDict(this Type type, string json) { + Type keyType, valueType; { + var args = type.GetGenericArguments(); + keyType = args[0]; + valueType = args[1]; + } + + //Refuse to parse dictionary keys that aren't of type string + if (keyType != typeof(string)) return null; + //Must be a valid dictionary element + if (json[0] != '{' || json[^1] != '}') return null; + //The list is split into key/value pairs only, this means the split must be divisible by 2 to be valid JSON + var elems = Split(json); + if (elems.Count % 2 != 0) return null; + + var dictionary = (IDictionary?)type.GetConstructor([ typeof(int) ])?.Invoke(new object[] { elems.Count / 2 }); + for (var i = 0; i < elems.Count; i += 2) { + if (elems[i].Length <= 2) continue; + var keyValue = elems[i].Substring(1, elems[i].Length - 2); + var val = ParseValue(valueType, elems[i + 1]); + dictionary![keyValue] = val; + } + return dictionary; + } + + /// + /// Parses an anonymous value from a JSON string. + /// + /// The JSON string representing the anonymous value. + /// The parsed anonymous value. + private static object? ParseAnonymousValue(string json) { + if (json.Length == 0) return null; + if (json[0] == '{' && json[^1] == '}') { + var elems = Split(json); + if (elems.Count % 2 != 0) return null; + var dict = new Dictionary(elems.Count / 2); + for (var i = 0; i < elems.Count; i += 2) + dict[elems[i].Substring(1, elems[i].Length - 2)] = ParseAnonymousValue(elems[i + 1]) ?? string.Empty; + return dict; + } + if (json[0] == '[' && json[^1] == ']') { + var items = Split(json); + var finalList = new List(items.Count); + foreach (var item in items) finalList.Add(ParseAnonymousValue(item) ?? string.Empty); + return finalList; + } + if (json[0] == '"' && json[^1] == '"') { + var str = json.Substring(1, json.Length - 2); + return str.Replace("\\", string.Empty); + } + if (char.IsDigit(json[0]) || json[0] == '-') { + if (json.Contains('.')) { + double.TryParse(json, NumberStyles.Float, CultureInfo.InvariantCulture, out var result); + return result; + } else { + int.TryParse(json, out var result); + return result; + } + } + + return json switch { + "true" => true, + "false" => false, + _ => null + }; + } + + /// + /// Creates a dictionary mapping member names to members. + /// + /// The members to be included in the dictionary. + /// A dictionary mapping member names to members. + private static Dictionary CreateMemberNameDictionary(IEnumerable members) where T : MemberInfo { + var nameToMember = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (var member in members) { + if (member.IsDefined(typeof(IgnoreDataMemberAttribute), true)) continue; + + var name = member.Name; + if (member.IsDefined(typeof(DataMemberAttribute), true)) { + var dataMemberAttribute = (DataMemberAttribute?)Attribute.GetCustomAttribute(member, typeof(DataMemberAttribute), true); + if (!string.IsNullOrEmpty(dataMemberAttribute?.Name)) name = dataMemberAttribute.Name; + } + + nameToMember.Add(name, member); + } + + return nameToMember; + } + + /// + /// Parses a JSON object into an instance of a specified type. + /// + /// The type of the object to be created. + /// The JSON string representing the object. + /// An object of the specified type populated with the data from the JSON string. + /// + /// This method uses reflection to create an instance of the specified type and populate its public fields and properties + /// with the data from the JSON string. It supports complex types with nested objects and arrays. + /// If a field or property is marked with the IgnoreDataMemberAttribute, it will be ignored. + /// If a field or property is marked with the DataMemberAttribute, the name specified in the attribute will be used as the key in the JSON object. + /// + private static object ParseObject(this Type type, string json) { + var instance = type.GetConstructor(Type.EmptyTypes)?.Invoke(null); + if (instance == null) return type; + + //The list is split into key/value pairs only, this means the split must be divisible by 2 to be valid JSON + var elems = Split(json); + if (elems.Count % 2 != 0) return instance; + + if (!_fieldInfoCache!.TryGetValue(type, out var nameToField)) { + nameToField = CreateMemberNameDictionary(type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy)); + _fieldInfoCache.Add(type, nameToField); + } + if (!_propertyInfoCache!.TryGetValue(type, out var nameToProperty)) { + nameToProperty = CreateMemberNameDictionary(type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy)); + _propertyInfoCache.Add(type, nameToProperty); + } + + for (var i = 0; i < elems.Count; i += 2) { + if (elems[i].Length <= 2) continue; + var key = elems[i].Substring(1, elems[i].Length - 2); + var value = elems[i + 1]; + + if (nameToField.TryGetValue(key, out var fieldInfo)) + fieldInfo.SetValue(instance, ParseValue(fieldInfo.FieldType, value)); + else if (nameToProperty.TryGetValue(key, out var propertyInfo)) + propertyInfo.SetValue(instance, ParseValue(propertyInfo.PropertyType, value), null); + } + + return instance; + } +} diff --git a/src/Server/LibParse/Json/JsonWriter.cs b/src/Server/LibParse/Json/JsonWriter.cs new file mode 100644 index 0000000..c847164 --- /dev/null +++ b/src/Server/LibParse/Json/JsonWriter.cs @@ -0,0 +1,185 @@ +namespace LibParse.Json; + +using System.Reflection; +using System.Globalization; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; + +public static class JsonWriter { + /// + /// Converts an object into a JSON string. + /// + /// The object to be converted into a JSON string. + /// A JSON string representation of the object. + public static string ToJson(this object item) { + // A `StringWriter` is used instead of just `StringBuilder` due to its higher efficiency with smaller strings. + var writer = new StringWriter(); + + // Start the recursive call to append the values of `item` to the writer. + AppendValue(writer, item); + + // Return the string representation of `item` as JSON object. + return writer.ToString(); + } + + /// + /// Appends the value of `item` to the writer. + /// If type = any decimal numeric type, boolean or DateTime, append the value as is. + /// If type = any other type, append the value as is. + /// If type = string or char, append the value as "string", escaping special characters. + /// If type = object, check if it's an enum, list, or dictionary, go as deep as the nested object goes and append the value: + /// - If it's an enum, append the value as "enum" + /// - If it's a list, append the value as "[item1,item2,...]" + /// - If it's a dictionary, append the value as "{\"key1\":value1,\"key2\":value2,...}" + /// - For any other object type (class, ...), loop through each field and property in the object and append the value. + /// + /// The `TextWriter` to write the variable into + /// The item to cast into `writer` + private static void AppendValue(TextWriter writer, object item) { + // Get the type of `item`. This is used to determine how to append the value to the writer. + var type = item.GetType(); + switch (Type.GetTypeCode(type)) { + case TypeCode.String: + case TypeCode.Char: + writer.Write('"'); + // Loop through each character in the string and escape special characters. + foreach (var c in item.ToString()!) writer.Write(EscapeCharacter(c)); + writer.Write('"'); + break; + case TypeCode.Object: item.CastIntoWriter(writer, type); break; + case TypeCode.Single: writer.Write(((float)item).ToString(CultureInfo.InvariantCulture)); break; + case TypeCode.Double: writer.Write(((double)item).ToString(CultureInfo.InvariantCulture)); break; + case TypeCode.Decimal: writer.Write(((decimal)item).ToString(CultureInfo.InvariantCulture)); break; + case TypeCode.Boolean: writer.Write((bool)item ? "true" : "false"); break; + case TypeCode.DateTime: writer.Write($"\"{((DateTime)item).ToString(CultureInfo.InvariantCulture)}\""); break; + default: writer.Write(item); break; + } + } + + + /// + /// Escapes special characters in a string. + /// + /// The character to be escaped. + /// The escaped character as a string. + private static string EscapeCharacter(char c) { + if (c is not (< ' ' or '"' or '\\')) return c.ToString(); + + var j = "\"\\nrtbf/".IndexOf(c); + return j > -1 ? "\"\\\n\r\t\b\f/"[j].ToString() : $"\\u{(int)c:X4}"; + } + + /// + /// Casts an object into a TextWriter. + /// + /// The object to be cast. + /// The TextWriter to cast the object into. + /// The type of the object. + private static void CastIntoWriter(this object item, TextWriter writer, Type type) { + if (type.IsEnum) writer.Write($"\"{item}\""); + else if (item is IList list) list.ListToString(writer); + else if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Dictionary<,>)) + (item as IDictionary)!.DictionaryToString(writer, type); + else item.ClassToString(writer, type); + } + + /// + /// Converts a list into a string and appends it to a TextWriter. + /// + /// The list to be converted into a string. + /// The TextWriter to append the string to. + private static void ListToString(this IEnumerable list, TextWriter writer) { + var isFirst = true; + writer.Write('['); + // Loop through each item in the list and append the value. + foreach (var e in list) { + if (isFirst) isFirst = false; + else writer.Write(','); + AppendValue(writer, e); + } + writer.Write(']'); + } + + /// + /// Converts a dictionary into a string and appends it to a TextWriter. + /// + /// The dictionary to be converted into a string. + /// The TextWriter to append the string to. + /// The type of the dictionary. + private static void DictionaryToString(this IDictionary dict, TextWriter writer, Type type) { + // Get type of the dictionary key. Refuse to output dictionary keys that aren't of type string + var keyType = type.GetGenericArguments()[0]; + if (keyType != typeof(string)) { + writer.Write("{}"); + return; + } + + var isFirst = true; + writer.Write('{'); + // Loop through each key-value pair in the dictionary and append the value. + foreach (var key in dict.Keys) { + if (isFirst) isFirst = false; + else writer.Write(','); + + writer.Write($"\"{(string)key}\":"); + // Recursive call to append the value of the dictionary key to the writer. Will go as deep as the nested object goes. + AppendValue(writer, dict[key]!); + } + writer.Write('}'); + } + + /// + /// Gets the name of a member. + /// + /// The member whose name is to be gotten. + /// The name of the member. + private static string GetMemberName(MemberInfo member) { + if (member.IsDefined(typeof(DataMemberAttribute), true)) return member.Name; + + var dataMemberAttribute = (DataMemberAttribute)Attribute.GetCustomAttribute(member, typeof(DataMemberAttribute), true)!; + + return !string.IsNullOrEmpty(dataMemberAttribute?.Name) ? dataMemberAttribute.Name : member.Name; + } + + /// + /// Converts an object into a string and appends it to a TextWriter. + /// + /// The object to be converted into a string. + /// The TextWriter to append the string to. + /// The type of the object. + private static void ClassToString(this object item, TextWriter writer, Type type) { + var isFirst = true; + var fieldInfos = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy); + + writer.Write('{'); + foreach (var field in fieldInfos) { + if (field.IsDefined(typeof(IgnoreDataMemberAttribute), true)) continue; + + var value = field.GetValue(item); + if (value == null) continue; + + if (isFirst) isFirst = false; + else writer.Write(','); + + writer.Write($"\"{GetMemberName(field)}\":"); + AppendValue(writer, value); + } + + var propertyInfo = type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy); + foreach (var property in propertyInfo) { + // Ignore private fields + if (!property.CanRead || property.IsDefined(typeof(IgnoreDataMemberAttribute), true)) continue; + + var value = property.GetValue(item, null); + if (value == null) continue; + + if (isFirst) isFirst = false; + else writer.Write(','); + + writer.Write($"\"{GetMemberName(property)}\":"); + AppendValue(writer, value); + } + writer.Write('}'); + } +} diff --git a/src/Server/LibParse/LibParse.csproj b/src/Server/LibParse/LibParse.csproj new file mode 100644 index 0000000..3a63532 --- /dev/null +++ b/src/Server/LibParse/LibParse.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/src/Server/LibParse/bin/Debug/net8.0/LibParse.deps.json b/src/Server/LibParse/bin/Debug/net8.0/LibParse.deps.json new file mode 100644 index 0000000..e4122f1 --- /dev/null +++ b/src/Server/LibParse/bin/Debug/net8.0/LibParse.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "LibParse/1.0.0": { + "runtime": { + "LibParse.dll": {} + } + } + } + }, + "libraries": { + "LibParse/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/src/Server/LibParse/bin/Debug/net8.0/LibParse.dll b/src/Server/LibParse/bin/Debug/net8.0/LibParse.dll new file mode 100644 index 0000000000000000000000000000000000000000..63dfb1bd2652013e29a01cc1fad528f32e7cba19 GIT binary patch literal 14336 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 literal 0 HcmV?d00001 diff --git a/src/Server/LibParse/bin/Debug/net8.0/LibParse.pdb b/src/Server/LibParse/bin/Debug/net8.0/LibParse.pdb new file mode 100644 index 0000000000000000000000000000000000000000..1ee188e74ad7bd895aac8bf058ea10bd53881035 GIT binary patch literal 15968 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 literal 0 HcmV?d00001 diff --git a/src/Server/LibServer/LibServer.cs b/src/Server/LibServer/LibServer.cs new file mode 100644 index 0000000..32facc9 --- /dev/null +++ b/src/Server/LibServer/LibServer.cs @@ -0,0 +1,95 @@ +namespace LibServer; + +using LibHttp; +using System.Net; +using System.Net.Sockets; +using System.Text; +using System.Text.RegularExpressions; + +public class Server { + private const string LogPrefix = "\u001b[44m[ TCP ]\u001b[0m"; + private readonly TcpListener _listener; + private readonly string _ip; + public readonly bool Listening; + + public Server(int port, string ip = "127.0.0.1") { + _ip = ip; + + // Parse the IP and initialize the TCPListener + var localAddr = IPAddress.Parse(_ip); + _listener = new TcpListener(localAddr, port); + + // Log the server initialization options + Console.WriteLine("{0} Server initialized on {1}:{2}", LogPrefix, localAddr, port); + + // Start the TCPListener + _listener.Start(); + + Listening = true; + } + + public void AwaitMessage(Func handler, string endRegex = @"\r\n?|\n", string replacer=@"\r\n") { + // Console.WriteLine("{0} Server awaiting incoming client", LogPrefix); + var client = _listener.AcceptTcpClient(); // .ConfigureAwait(false); + + // Get the incoming data from the user + // Console.WriteLine("{0} Client received, listening on input stream", LogPrefix); + var receivedBuffer = new byte[client.ReceiveBufferSize]; + var message = ""; + + using (var stream = client.GetStream()) { + // read incoming `stream` + var bytesRead = stream.Read(receivedBuffer, 0, client.ReceiveBufferSize); + // convert the data received into a string, append it to `message` + message += Encoding.ASCII.GetString(receivedBuffer, 0, bytesRead); + + // Create stream writer to write back to client + var writer = new StreamWriter(stream); + + // Parse HTML data, if it fails, return 400 Bad Request + var request = new HtmlRequest(); + if (request.Parse(message) != 0) { + var badReq = CreateBadRequestResponse(); + writer.Write(badReq.Build()); + writer.Flush(); + return; + } + + // Print the parsed request + request.Print(); + + // Send the request to `handler`, then send its response back to the client + var response = handler(request); + WriteBaseApiHeaders(response); + + var builtResponse = response.Build(); + // Console.WriteLine("{0} Sending response to client:\n{1}", LogPrefix, builtResponse); + + try { + writer.Write(builtResponse); + writer.Flush(); + } + catch (IOException) { client.Close(); } + } + + // Filter `EndRegex` to not flood the console + // var messageFiltered = Regex.Replace(message, endRegex, replacer); + + // Write final log message and close the client connection + // Console.WriteLine("{0} Transaction finished, closing client connection\n\tFinal message:\t{1}", LogPrefix, messageFiltered); + client.Close(); + } + + private void WriteBaseApiHeaders(HtmlResponse response) { + response.SetHeader("Server", _ip); + response.SetHeader("Date", DateTime.UtcNow.ToString("ddd, dd MMM yyyy HH:mm:ss UTC")); + response.SetHeader("Cache-Control", "max-age=0, private, must-revalidate"); + } + + private HtmlResponse CreateBadRequestResponse() { + var badReq = new HtmlResponse("{ \"statusCode\": 400 }", statusCode:400); + WriteBaseApiHeaders(badReq); + + return badReq; + } +} diff --git a/src/Server/LibServer/LibServer.csproj b/src/Server/LibServer/LibServer.csproj new file mode 100644 index 0000000..5b7bda6 --- /dev/null +++ b/src/Server/LibServer/LibServer.csproj @@ -0,0 +1,13 @@ + + + + net8.0 + enable + enable + + + + + + + diff --git a/src/Server/LibServer/Router/Route.cs b/src/Server/LibServer/Router/Route.cs new file mode 100644 index 0000000..23d1f5e --- /dev/null +++ b/src/Server/LibServer/Router/Route.cs @@ -0,0 +1,19 @@ +namespace LibServer.Router; + +using LibHttp; + +public interface IRoute { + public HtmlResponse Get(HtmlRequest _) { return MethodNotAllowed(); } + public HtmlResponse Post(HtmlRequest _) { return MethodNotAllowed(); } + public HtmlResponse Put(HtmlRequest _) { return MethodNotAllowed(); } + public HtmlResponse Patch(HtmlRequest _) { return MethodNotAllowed(); } + public HtmlResponse Delete(HtmlRequest _) { return MethodNotAllowed(); } + public HtmlResponse Head(HtmlRequest _) { return MethodNotAllowed(); } + public HtmlResponse Options(HtmlRequest _) { return MethodNotAllowed(); } + + public HtmlResponse MethodNotAllowed() { + var response = new HtmlResponse("{ \"message\": \"Method Not Allowed\"}", statusCode:405); + response.SetHeader("Content-Type", "application/json"); + return response; + } +} diff --git a/src/Server/LibServer/Router/Router.cs b/src/Server/LibServer/Router/Router.cs new file mode 100644 index 0000000..fc73aec --- /dev/null +++ b/src/Server/LibServer/Router/Router.cs @@ -0,0 +1,54 @@ +namespace LibServer.Router; + +using LibHttp; + +public class Router(Dictionary routes) { + private Dictionary Routes { get; } = routes; + + public HtmlResponse Handler(HtmlRequest request) { + // Enumerable is considerably slower on small collections, that's why a `foreach` loop has been used. + foreach (var route in Routes) { + if (request.Route == route.Key) { + return request.Method switch { + "GET" => route.Value.Get(request), + "POST" => route.Value.Post(request), + "PUT" => route.Value.Put(request), + "PATCH" => route.Value.Patch(request), + "DELETE" => route.Value.Delete(request), + "HEAD" => route.Value.Head(request), + "OPTIONS" => route.Value.Options(request), + _ => route.Value.MethodNotAllowed() + }; + } + } + + return new HtmlResponse("{ \"message\": \"Not Found\" }", statusCode:404); + } + + // EXPERIMENTAL! + public void RouteDirectoryRecursive(string directory) { + List collectedDirectories = []; + + RecursiveDirectories(directory, collectedDirectories).ForEach(f => { + var location = f.Replace(directory, "").Replace("\\", "/"); + var fileRoute = new StaticFile(f); + fileRoute.InitHeaders(); + + Console.WriteLine($"Adding route: {location} to {f}"); + Routes.Add(location, fileRoute); + }); + } + + private static List RecursiveDirectories(string directory, List collectedDirectories) { + try { + Directory.GetDirectories(directory).ToList().ForEach(d => { + Directory.GetFiles(d).ToList().ForEach(collectedDirectories.Add); + RecursiveDirectories(d, collectedDirectories); + }); + } catch (System.Exception e) { + Console.WriteLine(e.Message); + } + + return collectedDirectories; + } +} diff --git a/src/Server/LibServer/Router/StaticFile.cs b/src/Server/LibServer/Router/StaticFile.cs new file mode 100644 index 0000000..59fc603 --- /dev/null +++ b/src/Server/LibServer/Router/StaticFile.cs @@ -0,0 +1,24 @@ +namespace LibServer.Router; + +using LibHttp; + +class StaticFile(string file) : IRoute { + private string File { get; } = file; + private string _mime = "text/html"; + public HtmlResponse Get(HtmlRequest req) { + var response = new HtmlResponse(""); + + response.SetHeader("Content-Type", _mime); + response.SendFile(File); + return response; + } + + public void InitHeaders() { + switch (File.Split('.').Last()) { + case "js": _mime = "application/javascript"; break; + case "css": _mime = "text/css"; break; + case "html": _mime = "text/html"; break; + case "json": _mime = "application/json"; break; + }; + } +} diff --git a/src/Server/LibServer/bin/Debug/net8.0/LibHttp.dll b/src/Server/LibServer/bin/Debug/net8.0/LibHttp.dll new file mode 100644 index 0000000000000000000000000000000000000000..e3afb31a06c8480ec8cb3d9b44e4a1a89479443a GIT binary patch literal 8704 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 literal 0 HcmV?d00001 diff --git a/src/Server/LibServer/bin/Debug/net8.0/LibServer.deps.json b/src/Server/LibServer/bin/Debug/net8.0/LibServer.deps.json new file mode 100644 index 0000000..1d3cb52 --- /dev/null +++ b/src/Server/LibServer/bin/Debug/net8.0/LibServer.deps.json @@ -0,0 +1,36 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "LibServer/1.0.0": { + "dependencies": { + "LibHttp": "1.0.0" + }, + "runtime": { + "LibServer.dll": {} + } + }, + "LibHttp/1.0.0": { + "runtime": { + "LibHttp.dll": {} + } + } + } + }, + "libraries": { + "LibServer/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LibHttp/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/src/Server/LibServer/bin/Debug/net8.0/LibServer.dll b/src/Server/LibServer/bin/Debug/net8.0/LibServer.dll new file mode 100644 index 0000000000000000000000000000000000000000..1d8baf3da5a0490db337b7030d0b3085ce3aa3e5 GIT binary patch literal 10240 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 literal 0 HcmV?d00001 diff --git a/src/Server/LibServer/bin/Debug/net8.0/LibServer.pdb b/src/Server/LibServer/bin/Debug/net8.0/LibServer.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7d59a1ac8a463c4e9ca53b24e279c0f67c10dab2 GIT binary patch literal 13144 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%0A^FpAOYnXgJP)Fe5`NodzZ&h6^GGZD;3Y># z;AbP|l}FE`wa~A!rv%vv@VzK^VvL-%3gnzcuXpB@FjmgeMwus;aAxyW4P{x)uQx** z(epIC2vSz-Xt9r>os-&zjNlr&4gNS53drouSsP_|uFV$Dssj(K>j2jfg$3BSBDN#{ z-ddy6U#KmPafGT%BOX34QE%c4(lsv&PKlRPc4mQ7>$K51cg2=vXxIIOaqZbH^*I%s zpvLLm4rw)@MKcR0FW47G?*7Z6@4xu)WfSDr6eZ--NC^OmMwyH-2uOM;KuT;N64X>Q zp(gSxk@oiX#Z3!i`&I@bk=V_l*rAvn6A?9P1W1L{uTg9t{Dl~~xk>YdRt7>L++AWP zK}48l#Hs>}K2KCUh~ zVC$7(t2}UmpK^FijvwLsg95!Kg)d7x6kX!eBX z>xijO597cOv4sW=yw)|>uTm6NC?IbV_(*{cI`K}2A5oV=2}!Kiv#I=+q)3Tt3tg$r z+mb1f>&kU)>D*e#CQ-JDt%cOJsV!UaHpby0Os@pw%Oar1#I?6xp83W3he#P3<@d7( zP?PxHljN7TYGETL@w!V-L-uroj8*vEv9XM0`ZI6c`N)#-dscLxd&Ih?>Ft$e_R+U} zVxNNx&BOtmF~Xb}DT{s^2a~o@8?=hT$sMsQQ%jeRSh!u4^ApA_HlE%zk=X>jF)M4~ zJk%$=q*WUn#}iiewh5WKiL!8!*}5oE$!94u*t2Q#7OIA&)xzSTKl4=lw--M1+~HF{ z{^9Fw)lWSZ7lsD6nNF~AmoFExhSN_f z(4&4APVrqqp2yzNGv5hc--=4mH<2L?D{}74)Z^g!`G^(- VhEJl@-EcU3L?it;tp7m<{sSffY^MMK literal 0 HcmV?d00001 diff --git a/src/Server/LibServer/bin/Debug/net8.0/ServerLib.pdb b/src/Server/LibServer/bin/Debug/net8.0/ServerLib.pdb new file mode 100644 index 0000000000000000000000000000000000000000..cac5a1b3f6b72da7303d4480d793b1193f5bbca0 GIT binary patch literal 11512 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 + INFO \ No newline at end of file diff --git a/src/Server/Server.sln.DotSettings.user b/src/Server/Server.sln.DotSettings.user new file mode 100644 index 0000000..f591ba1 --- /dev/null +++ b/src/Server/Server.sln.DotSettings.user @@ -0,0 +1,2 @@ + + INFO \ No newline at end of file