From 9977bd253416c9dc979ac697f04b79318ec27654 Mon Sep 17 00:00:00 2001
From: Elisa <20030784@studenti.uniupo.it>
Date: Thu, 1 Sep 2022 19:28:56 +0200
Subject: [PATCH] modificato RequestToDomain rendendo i metodi statici

---
 WebServer/bin/code/Antifurto.class        | Bin 4338 -> 4099 bytes
 WebServer/bin/code/Helper.class           | Bin 2288 -> 2300 bytes
 WebServer/bin/code/Home.class             | Bin 4559 -> 4257 bytes
 WebServer/bin/code/ImageRes.class         | Bin 2759 -> 2491 bytes
 WebServer/bin/code/KeyCloak.class         | Bin 3284 -> 2977 bytes
 WebServer/bin/code/Luci.class             | Bin 3127 -> 2868 bytes
 WebServer/bin/code/MissingPage.class      | Bin 432 -> 432 bytes
 WebServer/bin/code/Resources.class        | Bin 4113 -> 3744 bytes
 WebServer/bin/code/Server.class           | Bin 2562 -> 2340 bytes
 webapp/public/js/authentication/app.js    |  20 ++++++++++----------
 webapp/public/js/authentication/script.js |   6 +++---
 11 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/WebServer/bin/code/Antifurto.class b/WebServer/bin/code/Antifurto.class
index 2d50f3e97e83e64d9c35dbbe6a3b2423e363dca2..f871b0867c473ce9730206f1a112d9068e1b7959 100644
GIT binary patch
literal 4099
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
W-K>s^{tg1<qk7*>zaAP3=>0Dgdlypx

literal 4338
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
S=O6Gk?fYo&Pk0A^LEyhZD|>1H

diff --git a/WebServer/bin/code/Helper.class b/WebServer/bin/code/Helper.class
index 86dd7fc9a55e63a13e62aff94e8acf0d1ca252a9..bb0f1d6d7685bd3bb13df1db55da9a7b001bf1c3 100644
GIT binary patch
literal 2300
zcma)7OH<oc6#fJT3892Hfe<Jd8f^1$(uO{O5FUj9;Z;mafu^mnFSfy!99d4nbh7Ne
z)5oTpF4<(!cHwlInXEhgE&U5E{jLPT1a}56B%O25Ip2AF=lZXI|9A!94hlMMV5A1`
z;e8z+;6ojw7}GJ1yYexi;~pmEV@kuch8YbXX_(b8r{TUdoma7-qaGtV7V$vG5|*X7
zqGDA?3)ZCYv5IvaZHTGZQ1OY1PZd;;r>(R*p`bDprWly96GB1VQrZ$Lh3u|yHq6}&
zHAY@oiFJ|B*;bz7XlQBQd~8NDrj?AwTqkWM$Cl!DHkvP3QA@bdl<Vg5!g(y5=sZ7X
zpT<)(6=M=arzCQ2nxQD{nvDCXAo8w)Q0US@jGUPiE4Djl7p#PW`mAtMc7lqjOvZj9
zsH$Z?Inxmv;weM-m&^D<4dHDCS7NRiKUg+%C#7qSFcZ^u;!r{OBuLthE?BvO%gTkB
z9SdJ<2FIadligQP6Hkfw!D4K6ML|oMEW+EI2OANy3r<|jrDeNo=S3zboMD-uflhR(
z_{_i-Xu4zIb39b>g@G^el?tBkB5oi7p<>TK5-9^|bSY?^bsXEtcc-mxHzm3qzso%e
z`o0ckMLy3421kSCje^g}f;C!nTejQ1C!0*i&QixWPNhfFvNr|K$Mokwubxt`G8VyS
z2KI5lgx{RUbYX8#IBcYW46-UL12%F79>F1)XDvsu`kGJ%^5~LAoOqM%B%}Lz+ltEG
zukP-PxGQ`4kU-~-UVD3-Nr<T5e3I%cAK$$c^lbj;3}c6RS7f<Qc7Zvx_{?CEYuu4j
zzLbP1Q7ce$(kNs74^Ox{B^mi!r$9>zclyv3+@(M$yfdw!_Y#Z96iPRGo)i}jLsW$p
z7UhoCG3x2M``m8}ozR@ctQOoe_A6*UokXdgv7R_-mt?LA?M%y<Rq>21FOR0v#k3ca
zmhFfcQ)<hu#sZ6y>*w816#SWcx6Vw;bj-Lb$OO%`PrK0)nklo5yywhZjyITs!EzgT
zVSjz%jj<2jNW2?igK*5V`LqwEcOQDt!TVeOG;mMQ#phd;I{8-ku8O>X@+&_Sbn{v5
zDGk)nF^CG!bR7Xy^6chssE8C%InaPV`3}7LriiM6BC3}MrC5YIScG;K>pG(Wbx?W5
zH=_aVXk^qTyiKW>Cjnx$5UGzEA8GppDMF;i8bUSdOOXcUTY~s##37m#FQ9c12e`&E
z+fj?_{5$DjkvAB-6JeHJig>d;Vy#3pB;pU3N9-YDFA@8QD6wShej<j>A@-L?ydn{=
zO2i*8k2pZYAtDYFF-pW+jD4Gk@0>#nQR9#LHoIHF-dv3kqwXiDfg=PepHov&GV>8c
zsHsAQG0DFM3}EoY{d<}Pcr^GD^;<8{u*@MeZjD#`jQYWj?|w&95zU)N$A2F|TNx^%
zl_a?K3w<?`C&&T&ApUqpsU0T`?(%GsrxQ&19@{nLfrk<JhXyK!j?s!r6~hX@fn&yy
zk~{%b(Et;?#hU&4=EzR3zL#j*BAwee1J9ROpQN|$aluca(JNz)zW1q}hk*qTmYjc}
MvU>{N^?GvWKZME$r2qf`

literal 2288
zcma);%TpUi5XQd&!HQ*VjQogSU?H%Pcv!X*=K&al2pHJ{Ifg)hycTJYgr!}1cjZT=
ze9S!+Czo7u^u>oH2RRj2`JBq%l7Ar~->d`(Td9JBc4xM`f8EnxPx05kf4l}Ti3d7b
z(5fL|pbhN;$F|LfX1r)xxp;bWTV_0g_KAX3@FoRXqp_6^1ks^EH_!>=fcerB*OMh$
z*%dmSO!<KdcKohWu)HPDk!ERJ$5C`?IA)+5A%WvfYy`Bj@+evi60Jq?(_x5$l^c((
z=s1Cs8crE_2d59F;F|~pbJ9yZ@uVvdh{iS&I?m#phVuq`&@0fNu}g8cV#O`##q*w5
zcBS)BI`MhF&OXlMS-fO&uC%iEq+7NvSI$c_D;>sbizaWY6wV@Spbrs&F2Z)r5_a~9
z!0BjguljVwD_8c*AHYQomkbOdDsW=A{6-@p9ytY%3A9Bw5(+hdAp^szIc=Gu?aClV
z1y0R6j_tVNf))1iGVI6)73q3?LBs_HzKN8i>zX+k8H+Txi#!eDDs#U}qp)Rr;Vrvj
zW$FH|Ku@Fl8wSenI?rZ7dU-qRdz!_f{YWa`4+Q!eeVZ6Xo~rJBWMB;A48um0O-C-<
z$(&_7a>jI7chjyXHQZp;`|7O8AyL`dl8%lEwCb3`w1$L%8GPKJt)#Wr0Lp<f%=$`B
z>X^eV4f6()xV>xdD{UrkI%dX`4wdBDHIPbcrry>@IVyC@zycOIC}z1#%?OM%)9qVQ
zuH`<i;qES-(~?Y6fwJrsY)eNP_Y5ql&Ug7UvE-SV`^(HtD(t5!^A*ZyS8k1YY50s$
zZ6_Dsc5N$udnvtGn`a%XSXaXy((pM?^nl48Tf>(Eof$hT<MXmuR!0$-;fk503YJ`~
zls2WaY;G30V>Awmz*v*wQ-_#1PPTx)mjP!@-!wUZzOV(N(L)C@%2f5D?ae7o^MWY(
zV&%qkO{#unHQ~v}ysHMAW&Ebn#$)RONBj;fnB{uuK_#c!(8uaQR1fzRH{L`t0v(yW
z%-mN!`5(0tr7zhPCnM(y>WDjQO}MO*;;r)q?`-uK1n&g2^Y<&RdiWH4whg_6_?0gL
zU-MUe1`Kq-#3mh;={*F{%IBrupbb@VWVjoD@_GFAw^f`OuHwSNh+0<BKT<_(Kh{}B
z1G>N~oMYULGYB!A<G9FGhF=0?rAf*{)=BGi(hx}@20IeEoEqvD-w{%ykwcnVzD4UL
z2fXBi<aF}JJ&kiL@;qrhh@tlYajQA;iXvW9#2*e%>?5(C!~qf&>k@wlNsJyK=9&}V
zQ^fZb@yEjxhe;eI@iK{V60eYWmBecYh<OxvzN&v$dAdphM~BGx@F!@2=LodE;7&_J
z&#z;fJ8ft&rl>jGN3rhyjAj9T8hM3@wU?M&U=wbxO|<-sV<YFj{~fbc+*y6T^Y?QE
z7e}l3gne87g}y;tK!gphL2B(8<L(4yaD(5b_;r#;caz68?ZaaT{6hl`6FWGi{?C{a
zd<S+IL#@;oa4Q{Pf+bk>1m~zuzrI&kU89`WRs%0mtWPOf=Q(ZEQwaHG%+dE2cju|{
Rq>rWM?`X6Vu>CVB{|AcT4LJY+

diff --git a/WebServer/bin/code/Home.class b/WebServer/bin/code/Home.class
index 44c26f24d03ef7539af8342c18b034c37078b5bc..e33c4154fd4f5d657f6be2e6480fa51815499a38 100644
GIT binary patch
literal 4257
zcmbVPX>e2575*+--m`dYG6oD7WRqaYMphOIsqD~VFxYruu?d(Zjch&J0$CE$6UJ;=
zz)6#qhR`N0w1y;Y>NMRPT4WL@K+_DvG}9mLOlIImXPTL`zdD^^+L=x!3F>#BBwGfD
zPCB;lyURJ}e)pX7oqPR<TW?<iupI9@P>n|%*oN&Y+8x+|oeFk2V3U)6>{jvURD1)E
zsR&4+4i%ja1fe_7g>E_1Bb$%|d$3nFVQHdQK}1DVLCk?U8AJP|LR=0LDh&BeD%kHp
z3HlTqa9}a|Wphx99a3>vevha)D!-4bctS3Q6+Bshr*KTgaR&zQw1Q_;d{f1<DxOpE
zEd}3p-~sf>hSpE0_>NS6UN$FHyrAHeg6}H$o`Ah36bTut1T1dPBLdbn(V#9cqbU^8
zTavvUdb};r5$24&ClCqBj@#YT8SV8Yk`Z4-H+(&Y5liUt{d(M2&u-m;P6~GG)za9s
zRwK~4w>c0qZ76tA!Ak-T%IGm86pbVVrgrN_eY98K6zHby*=|qMp1}TqFH9T0RwEvY
zbXU`PbPRpOL-U*pzMoNR)cZTb(ZF6FmPZuOXsYgjp+^!lEwI#mr>RM-6HjY28Sm8B
zh2-f9B$z6RLBqpXrQin|PNSagSzp(t;EaYJ;zt67Cd#A{3j0>a<AMIBP{Po#UJ4c%
z`T^;dUIytU4TCsKuXY7OVGZZ-GGTT`BLr!9jsBRf;1vz8;>YxjhM(Xy4L`+@hS%{k
z1#f8hIewwxmsq9YSE%KwI~g2btLbe4SCy~I{O!{_0<oAcmh1?JI(?x?P(M&5_ZOIZ
zyEAK(p>R--YuJKT4Zp^)hBt9uz-B6F_>DY))6@z@ebOac^nj`GFn%jAC%00Y?CR3v
zdT@O8f`%08HH=6L)|yhUSHnfTMaOx)#Q(PJ3P;X!G~TdrEDscnYIq0l3M{OP$D?r<
z<C<XTT^$p)QE*AaWr?FCheIN4i5lyo$w+X_oIugmh|F4-5p_jldc@U5F;_VO@Nafz
zi#X3Ex5zCmncSOuvq@I9Cn1xnFdFan$*ylh>&BLi9eeangKn8Hn}?&ctw+!75RB@H
zNV(yX!4HHYu7FD#aFuJgg5PO)55E@xlgEs(%t3*f<H5^qRCX8U)tmf`PteOSNMO2Y
z%1l?8sktbaENknDNBc4yUvd}oJe5go+9%Jp==+j-!f4iwo@g+anDu%%rV{|uv^N%r
z>un^0K=~v*oP?P>m??oEZ58FqXAWNN;i}WzHW6dl(Cf{lWces#!T2K38JTK<MR%9r
z#<3)UF3;aMTYEA<#~fFkEg<6)0xEIU_8U6USlynTq-kM7kB}L+LAALXHprqlBkvrw
z(O|#8yj;~ID>fz#g5mCZpqJ2R=Mp`Co^<VthYY5O&Aqc$+O$c+$du_d142fu4u_+C
zI^Agx>yd7whlg}~8aQO7AUXl>B&WTzJZ9?!k*G#AmrWBQly#IuQJ6K!V`S=rc?qbJ
zY4SRue^}6aS#T3ZAZ{eKg(R#=jWOIRQD#N*h|t=fFm#%*L}kQ^GU4HVn|M=<do5F)
zCr%3}F)0)#i|tJ1_-Y!kx*I%e$ht(bBVk@P5>LaOZm32np8(Y)Xbs;AHhy_Gu>BfG
zCH#`RuvLseyvdHh*V)?5NhjOYsKpd1DrUgSdEiuK3R9YwIV~4qJ&mVEVQU|Oy+!z~
z7oqsAUZ?sN3Z`INvGpoe6<eJS%ALV-YE5-&-V~;7tDJ>v#nu$2Um8eZ1{Y@fZN)Zo
zCWTqWwiKL0SXwzt{QG}ODU}ydC~;3Qac{wF_UG`Bb1@zB*emAGd@RBOlw%=Q@W87%
z+Q?_fR=D^gD&;Gv4Bc3QB<{f>+{*{aQalGYPQZf~P>D6PSP1JabSqe^ppNY)D4Sxz
zIxbl0A`cw$@??*0vaE##1$0-Fv#4nlbLgA7%>+3wh2k@qo1NjA=Q|g$Nnv4=Xc<LG
zd*uig`K_Z^++J)Qfvd%`!bWG6wl`kI)`}F$8Y`SjQn=?dW>h%uO=0P2*oV@8%}o|q
zSJ;Nqf66TtP<tr-UXkrg`dum)pG~Kh@jKsH&Su+C`gQMBC^YXL!mEDkc~m%wXxR{6
zGzVFb&MFF<NPQWk6mdHIwsGBQetS;0*fu;t_r5QwtK?f%$E+%sm(fMT^za~F<IBRs
zfDGaSytsjn@Nss06CP0{N`xyj7G6f?0&bY!n_S^o_{2)#r<|8Pxt>XwKlAMj+{c(L
z$5ea;MNAP79^x*3j%pauhe?1{Xk>2_Q>TL?9cvLm9riH;495Kk8t?=*;24_mJX(lv
zJ6=IM@$Mqx9e4vfaUQ#gXcHe8oADvvFE=Rj7s`A@nU5*+cgp;e^Ec6of1ypx!d6j)
z?V=d%q6E8mvK^ufJ4FTOz1SvvTzimfE4k+9S`F9MVz*e2N6m!2grZwKh?%hsw=hq^
z1_g~G&0M#elg#9X>?AOK`X?w>Y85o4p)sd3YFvg;(EK?n*>X+_6r}07+a#JyiKe?q
zw4})iHP0^CZvn<F=7VBH9HeNDQ9ee;!3cVt_cw|$PD#$NXe}an7PouJm?oxbX}h0Q
zXXY|lH_9@p{*O^S&@Pi`1P{tGlfrVpy^`rqai;$?zcQ9=_Td)x^RwUN%!KT>=BwJq
zRIL+KW%B=@sw=*ns$b2=Q!s`{y^LuL-xgLmkJ;-WWd>N&PG-l0{9eH|e2^VqXS#nX
zEW(}{i$VsW0|VxF5Le9abxLqPM>SE%o|MZ_=_>9wbu8#){S9*0F4o^}R@xA4?jf;y
znVJ!zI>^u;BDSMMcbNZn9$_7haJMKmV|bFp8lcRxlsQ3}lax6{nKPUpL>y<4;B(s`
z`h$3%GS?{c0cHM3nGZRCot69s_TxY3!>5!<<B+i6C{K1+s5l~KqK~NiNw0&X*CEpD
zsBm$ujB6Em+@#MtC`uE!)yzsVhg4|<KEoVNe2xVQHsvR~WlSu~mx|l?GEsnZp}+*X
zOcdB`3T*!3ElfHUjPFXn=kbYT;Xg>3>xllaFg}1^UIW%(&4RNiso>4Ca%R;z6lQw9
zb0|12(nIOLWmjIt)QSbx$5MD`*!k6AYG)!m-@N~iajWBW&H(Sqr{TjhSjkw)TT+GP
PGbo~D7WZy5wYL5j7WnTk

literal 4559
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

diff --git a/WebServer/bin/code/ImageRes.class b/WebServer/bin/code/ImageRes.class
index 12a6728d9101478be3e3e6c556121a979fe80536..e931cad64e34e10c8a3445078606353f133a0f6f 100644
GIT binary patch
delta 1409
zcmYjQ>r-1r6#s2rd$}xa3D6n~G%c?{2$xo@HPj*~P$~}#2qJAYBuf$+azk<h#aHU1
zzN)o&eY6$d&iEDm5Kw0N6~{luamH_csGbdCow@hyIcLx7_uJi_n(eB>Z})z=3!n?%
z>j<Go$K&YL(T68AJgK2y#{dSE^Q?v;9p~_rj&=+yZG>Y~hd_^pv2r|(^D1ndV?sxz
za!%@a22;wIR^nN;J)_|{9kaNgjEg!hUBL4s@q#KC;h57=j~<SwhL}>N67w8!9gRq+
zf=P~rGF(PV!=i??4ig!UC5|jdj=^&}nNC_~7@UFDDSN}y=nMpg?HiuMq5dn;L?j)T
z-K|p$6%$q@dU+(0nT*V(B!|V3XV57|W~`){w*O=Uo>JKbyOP(92^i?)SQc2p6^>Pb
z7x5CqJ|ici`K*i?33E{z49uWf0x#ngfmc<8bFhDsqabh<uL(Sgu)yo+vadQ0`WVWR
zi;=iAGU+(S8v<|Qn!sCl+x9#C1xhXX-w}8h?+IK-r@;I8K;Q;GWDrp^ZOOD1vQ{%R
z|4o54d?aAwV~$T$%BKRKsgzsjVmP!AS&kSff^SS%*<?E2mrtf*GRsgNHDl74klAHr
z)pQsgrEjGm=OUSmk;%`cl2L)%xFhhn0whYMlBO|`Oi4w{y1*CslA&sEV`%I@8acia
z_!{3ZRQG4IX4apTkr=i2&r`C$h4^aW_*URMtkap4Mj29+jLT{|%LDhP9-CW`QOmyW
zX{r97cNYsotzGM=buu)lgI<dT*Va$k73_Q!m557gTrTBh&Ki+c!i?E#Y+yg3$WWJ2
z(;6`I>6pFgFzi1ZA$!)Ds$+1^r}DW3QDd2XtCsA|W+ST%u0ZQ-pY3pk?OE5QdV-si
z>Dai;Wz2L=o+Vf^OC!4jL+9w;{q8zK;M~!anUgfcVyQK?>rJK16&a&zO5{>LL&%Q0
zn}YuyM>m6JnR}>e0>k$S*mcs~wRha7>?Y4~JK^ycaFiZn2n-$cgq^g~EhTxJtU6j5
zt?sr>updcbI6=}=a#oUjh~B(Ig)#vb%4qLqun0#HPOr=BF2XZHCLaxXwJnt0#!_4R
zCiJk&=h^`eZlQb|Vt!^56=Ao}?cMh?_B$|583)3iZB){RH_Ux5Z<UX4p?ccKi>OiJ
zU|6G|L*55`)WSC%ti-QA?e4WA9`t#9S`mkRo+4_0D7C0lV>@udzEw6|c$joAoc9po
zI9d80`3o1FI7NOJ!D*pLdS0X{^mm92H?4!)sHa(uc#jrwj2a&+qG4nkjWYzMX*9Hj
zW`$^D^d|)NB3mh{oqliIZg>$vwt-2y!e~NssgEME9-L%|yasXIi3aN1Ocb{evHe7?
anzsh*Z*n?0x_5^L<2X$tK1Q1kocRZJ0x&=T

literal 2759
zcma)8X?GJ<7=CWsbV3-QMhb+@$|5PH9Yx$)MA}Mew2QWtiU>MQZrjkw%rJ99skra^
zzVGYttNI~SILEJg{7HULpF5M#REx)Rax!<`x$pM8&->o{`=1wo0dNT4rO<#z15G9p
zXclNWZJ)I*$989|(W%oiuLPP87TuycB+!^`KbArgs|=(}tcEGDGw+qGu<Tl{RMxCg
zekg;pGOz}@JaR5SOFL3v&5TrI@=RHV>b|iYon+gGB0pM-lAaXSVx55&6IUTEVAg-6
zy7GF*`*XQ*6%^eWf%P@@D9l*elf-&~wN@ze<v<p!S+69mBsK^LD}_zS7}#uL3$`vx
zv1ZW-r0>{yhI(f<jw~|WKWhi$I&L>Fd#)s}rcxh^25GyAYjiFxOSunAHR~0UxRy{J
zJu;EPPV6$U+r)L)Bd|K}6{IyN9bX2~TgkTrIU&!n1bgbEswP|)PgT<XKnm^HYoNo#
zK6Dbe$Yic$&&V+u#&sC-^0pI+1op3BwwjJTudJe0wED`^(~^)zI;_-ASSGH=4J?z-
z?<1ZX@XBsMAe$ZfA8hDpKW5-Yfvck$msQcRdV|1T7%GM;h5cwu;%0$Wv2Wj<S&dt9
zn}Kc<Jvhh;FR5t_B54=syR|-(n7BO}jwBA5xC4g;)<ty)ea{VLpI2BA*i@rY(X&R&
z$}cP8DD6^@fj)t4kt2TUTTn8JuzpVpy*kn(^v@VmIEq07ITLr`ZU&=O&&BZ3Km=TF
zR3I@Q6css^s|LG-@tAZAOBnyVva#f!aq0wnF>GQ)cWz?ZDTlLKa*v67F-8t4?{e@0
zP1*JneHxJo6ZhemK)Mc*L1{ApQe+1~xl$G5J?ymmS^K=_D(R|DwcyJX9>56$51KfM
zQv%!n+knQb%*q|8uh}wEN3780?WwYHNuU#W*o2KKQYa*BBz9EO%NZoHxx4h7DnJ^T
z)+Ny+qgKuOA`-LgiN1Jm(ZuNp#k}K%OlT(@6D7^^mQvKV<aw{-c=NK5=HT>9_&6i5
zv1HH5e$UO@YO<(ixeAr-Dgt@k3fZkNDhzP1S&MF<=+Jk7vYy6g|3T|omovAcIA>x3
zkFcs_EcxG6^+t+l8#UaP7`D8N4Ln-wKuyq5j%w+vqUWx{<9NcrlO~?R)5}NYLa1bk
zwexiCS}!y59?s-i<D?<rrSKe{H}Haq7j+78pVLd-MghauYL08*WpeIHeBmK7XuAbR
z55%T^jz_lfP|=km<<gW4ChRGPl4c$<+`{QLuI&8Wu<b`547@3@H3IeuC<vr3=glId
z#=UZoml{6Wikg<(>e3bnM4#uWPzAOh5AkqaGu}_(1AJ)UBh7`61$ITwqI00=p7rLW
z6;~{#$AFzzUcj;QVLdUb8)Kt!uHmjB&zmdz^#{(f?x^<=D^9QnSJ-}{ZjjVwVx6e!
zyWe)4an2?7^``<Gx~#6~H!r7b-?#kolvB)$BtGZ2BSGK=ZJKdBhufx!RNEfGqsz>>
zt_=DeI}BxL;46XM|H5LW6b*dCY4P7%S>PBCT+73)fed?z{nyAR?<@R&g>T#V6nrN3
zUV!+K3xQYpuRnt~3W3*f168?Im}tT(O5g0Lz^GtN`s#FR1sjL?x^1L0-L{AwAK}d2
zeHCQ8n=(zm!su8;*Cp&fegOx%6PZN%rk`<31170(dw26C^zuW0w~=W|-<dHMF)*2-
z*&+Qm+MVR4@$_USQNi)aj;runCi%;A6+Dz_&Lk_yXPPUR{XX(Ar=xC&q8`I~u3NDV
z8@bxV<TBWW%}jm^I<XZuQ*s#FF~Ix9DB5tGz?{MkNY1P?-1#VW;~8ElUc??|oW&d1
zi`Qu}jmAIGX<$?Id*ctBY{XlXHxZxn^vxRsR~pXqgg3!ww&NmPVE7V(<NGc^jdU(z
zUZe8E$WM4|-$lAX1<#5fs7IrWQ`^zVZ|6H`&wzy%UKTbG{|pcJ&A5?~9f;y-h4_m?
q-aXsnpdgIM_1jc!z&m)C&$V2=NAsUV|DWLt%2Is)5?|w6Wc~*3vEYLM

diff --git a/WebServer/bin/code/KeyCloak.class b/WebServer/bin/code/KeyCloak.class
index 6f98feed0e88e3ed476034a0abdd62e15c8380dc..89645808b1d7a66be97a203a13c4813798474fbf 100644
GIT binary patch
literal 2977
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

literal 3284
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
XuDIiS{QD7p!nY)!eu|&tHq!qAAAUqs

diff --git a/WebServer/bin/code/Luci.class b/WebServer/bin/code/Luci.class
index bf3fe5916909439c9cdd89daec200754559bb898..66ed0d2ba7c80cf7a72091952eb6039a0ffbd35a 100644
GIT binary patch
literal 2868
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
D<O1aO

literal 3127
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
Ze?j?gqW{;T|KCG1I7R6jjJAr*e*r+wH#h(Q

diff --git a/WebServer/bin/code/MissingPage.class b/WebServer/bin/code/MissingPage.class
index 42e50527a873cc37cd9eae6f17674b384ec80a8e..22370e28580b139b3ff860fe5f3a479108e7f23d 100644
GIT binary patch
delta 287
zcmYLDO-sW-5Pg%i*}B<iHMLfXU_mfdA(!41Z;A)eTkkPlYD!6hM)BrvSo<Rip6W^I
z!5<+0CUMe>hk0+_%$tw7n2Y1@-^CYzK6VsV&`{XGrbHmol-MG;r)id!X9N-U2KHxP
zgyEHa>vYbale;(@nUmgtpjerrO!MqPqBU*Op0D9TN^EPi;aM95gvL02ilYfnMK`x&
zlazLL@Jg*0FUf}{x-^r*+!J&WkIZ#mUgVG25M2oVicsSh9cEt2SZB4%Ow6^z570X&
rgjGg&S*$ZEcsx>ByR4kbdh`kB->Q~H-R1*6H214RKF1p84%YtwdHpQ&

delta 261
zcmYLEJ8r^I5S;ag2gVSSkN^cpq{#;fUjWf1T}Z0*j<KwVkcngqrN|AaEG}ZIAc`D-
zGjJA^ag}0sX0<cg*}^Q$=i~YC3t)<#0|Tal<-$fq;4Ol6;4gzD_Fq31QJ4uT6P@U6
zDlqRK-W^m?Q*d0=;ch$9&u62aLX*yLHIMukou)d8--0+&@bc4LKE7=_PhVm5ndw!M
zD%@;Ey7^}CjUgI5F1TQl5*dKK#i>seqW$;-*^vk?*~>K;KyU?@mQp(8WDxDq9_n9O
Tz6FXb-e{9qlwGqr<OaHb=_e%e

diff --git a/WebServer/bin/code/Resources.class b/WebServer/bin/code/Resources.class
index 9b9406a88bd155158e7a8363dbd3fec2e5daad1e..b45b5330a8226b0a8fe5878b1687b46735b21398 100644
GIT binary patch
literal 3744
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
VI%OxI&^=s7u52ECG`9?U{|hVZt9k$c

literal 4113
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

diff --git a/WebServer/bin/code/Server.class b/WebServer/bin/code/Server.class
index f8d51543157c6a911b93c8b6ffcfe507b7334403..7c809cd5b2ee119705a01d9ff601d928a28fe102 100644
GIT binary patch
literal 2340
zcmai0TXz#x6#h<|bf(iO(9lx3l(wLf7RV?fDn*pmVk3c85{u;`PA11@n#oL<OKH8K
z;{A^L;*&3~<&zKKT4|SY@dNbD2mgou0GIpBBy9o(SF+B`IkWe-Z{OZCzyJH|Z2*Vy
zoq`m`WlSh|4wDK_;`vT=VoE|<K?h!ta7sc(#%UR66v&vCFr%OwFDf{Ttc;w5mlX71
zT<m9MoRjggj5!JC74!?>3o<UsxFq8h36~WNh_hEE=n96AmtiO<fD7f<#4_KBB1{Pj
z3ib)flDJx8DT~Ec;GiPm3PY^oxIP0*GjvU4(vxR$muF7orWg{L1$|N1EZv^hvc7BD
z^J5I%6OQfqy6w;ER={Pr3?0Wz+w_k!v?oVq32(wFaE8qp)8=P_a-O?6J#W!TtgM?h
z!?xswyMcvbch=X9(rLXC%2VDLl*uK7SA3IfO7IxuV}?~XrevMKHTX$WKzC)iyU5*?
za9G9TIKmJ=DB_afs|c_t;i`%yEUVD)2*cL($kr^VcwOjq8|1!riZ4%Cj$R_@a3A3_
z>`iH@@PC!(^-4vn1bNFev=U!7gm`Mfb11~&jioBOtCzh{MmYHf!;a7ooBLXtmaJox
zxPPKhaJlCRi8m#@rQ&T|BagKOPtyax$Zg*=bdeH`VN>YbS?-0oAf0#cE}aTlpO-6^
z?sJdC;+o+_S3;(J6l1!q&vVjc=+QiG1THUVMW@V#HdVj%ECRUWFhbkZD#_3pdNoB*
zRI$cGhArXoblxW#<eU<>MTqYa^E3(9RlJW6RD6h!RD6sh5<XG!DL!N9UoTZe!tubg
z3Y>U1NHy@nx(~U5Z4*C-9DB%e4BaX^o_|!u=lDV_U#j>DUrV^5;v0NRj;upY=NGs^
z?C;yKVhy60j+UNYBT5TE<P$XkzY^#c<+3l?#O?@wY~(!Uc-?5)_W8VsKqf|boVItU
z)w^wkI$(2!8qW_qBj@S{WprP&fx2Xq$%d}z#AI6Z)v)1|H7~F=!Ly?8SE8h8Q*_(l
zb%)_{A`8QK9eqPij-^L3{|hFDM1)48!skmA+{KMtz7NopZWk=>j@{Q<9i7Z2lH^rW
z(~gO#cZc~7eAChl$0l~W)H&MZ5)s{ZTq@L7n_r#KjUq4PiWGcd#&Il$WO5`*=DjpU
z#!Q2g*)EU!4LpWD^%(D^7djQE(J6*)69co$9<?eBPbUyGh>R2AW}>>2XJxY0LBodI
z1%`tgq_XaD)1a>R2r2F&4&23#^~bXBG#K35h`b4h0HRUZ>JWnz($b<?*TVNT@?n_X
zeJOe|wm}gim+rRXQ5*upW8vvxw9`FJYFeM5lL5Liy2eLWz;4nF!;`djgonKZ_7sj1
z7>P0maZ(2U8ND6*5rd=chZ1d7w11D@(b%C?#C}2iC&-!oRY*0+a|tEUwE{I$L-*V*
z#8<GXeHEKeA4qJep=WLdi7K|9JCNvY+4Z&Tw$;#2k`F|Z+gqOPXxZ&-k=#|o0O{?H
z^ag7fn%lpE;b^<3WxI;KRXlj0iid9D;TralS~4+G#VEO41;s*-4&J0}^k4@itAlbO
z@-vG*T6fav0G$ufx|@E3*h2+KVK1JhuYgl9F^2`rqeQPl3)fM`4cPdBJ^_A41;616
z{(y%+;o~oo_#2BDBUA}(mn0mE5eN_?)5qzv<(ajL4Thy5v7W9~O8K2N>!-)hl42W9
F{0D<>YRCWp

literal 2562
zcmai0TXz#x6#h<=cGBr^X`morX}C#JN=H#q37`;*jieVz43>*HnH-yGCNsm#Nol<+
z-tTx@`s9mi`Q!t*R@+5g`~ZFP!C#<%!{wftgeJ7$YCChznZ5V<_P1~S{ok9n03646
zGCB~E5LM8LE{2UW+N`FUnl-IXlxDat7`l!cmLZNaM3Sju3^9hzgO2SA88Uh#C<@kL
zeVb-pxP~=Nn*4HIGd+gBWbRJ8>C`zH8__Evu3!^3GxV;AWG%s`xyul9G}q&_y~9R$
zLpqi1#ujXqaG!#0*v`<S+hwlixjXA?M}3$KEGyxDhD|H>N9J_y2*b8y?7&V11HS7U
z96~MfLer}SSJSzKT@332gQxj?#<aC+40{;%46DPz?-gFs97lEPCDYK=DxcSVnc*4F
zwqn@Fuxo8Wa!IRsftZX0_WR5y8TPkw)bOu`wWh~K34;vV179pI)GR&nwqE7pM7iv8
z&y$hDkZ<!K5s=KLiZWC@DB&Rmhww0=((Rh+)h*T6t_b0H0bA-QEt|x3=`Pm<XE@ma
zwdPIfY%2G^#?mo7O5Ce6o~qSFg<HbVHJ^G_!eb2U1AfnN&#t>VC-8?6@c|!Ekj7D;
z{{TtGri_@QSYB9*rF(!F)vU6~-Sj<?Hmnm=%JTI-RKaVGNep;u3{O$QtGeeePx?zD
znXo_I%#CbKo95(zj0_?%JVS}BdR(u&ysTF28u!h`kY$LsABPrCuR8b5$1vstX)_~X
zf}uO0Yn05&827I`Lp9QrlTe^C3?wE>LNly_UFDSGc@+J8I7?S0DPU9}&3sP#1wBO-
zqRKdr3lc6WcoCNvb_V%X7lx_ownfgk6gYKcj{Fj~OBKDz;#V@7Ug70Jg(6g*v~80i
znM{Q#dpAu#!3>?J{Sa#kO3<lhJuaG-8Fn`Ud^ZaO*;nQYUiOQ&(-WF2x>124VMaj}
z1f!*i<>x($CG{@5?)Q)oonfn!VXYJNS~^ah&{AN-Vc1&Js+{tHa`dbrDzu^tED`iD
zO81o((x^unE<6cBK^?Qr9@B20K?*vHY2BrX6^VmPE;}+_xHNg9FiK%seGg?@6H8Gu
z>pX^6$=aF?hRQxeL8gY5Gb}z{ua&r4&`KtqL~E243|o@tSKp8#80&)WH>NoadHHsu
zBp<J~xR;%{{e=?nsBSh!gq#oR_>|$_))TgqVV^V#%1PT6o^Um1jEjn0_BM3kBN-p#
z6A7RC?0?3vcZFZWnx*VjLz=^YoYHhkzIlf4Tbn>bFf<yLySF!I+ts?0UhQSeNt<F}
z-r;MAxAGLuL+T`}KxQ=4%o~DJ1Nnj>L31JOsR_4kSu_a~wv{k#T{A1TCyp=%C2LvS
z&6t|!abor>hJCAyuH}$~Z<@6kjOaEO8otxm4ZX)MnvETl+Z{BhX*$ws8?Imu4D-S1
zD~QmV#y&k?qmzDmGkSLpE`nXB1;gv~^gjce(Tz9oCK)49RwA_so&Ga;EBX@#1|x^!
z(gM1Fz~;f|p(Ski6@5P=mOHS3{$(Vl;=AK}7x6%D8L6oo=v%~r$P$LfhT@Mb<M7lX
z9$&x{XNTg)+ICO2?M^HsLy{w*<f*oAqiwrq+a&4EanhR%^`2Wse(Jy?o)5P#v~8Dg
zZUHY1Euee@(**M-YQO?6Unc^3iNAjOXQ3mYq=-Ipeg~cQ(|LlPJLzWtyNUB*?7=bW
zN2g(63Nx6do>Yg4t7PpOEc{5R{tF!ZhRgT^9{z;DUnKE2X7LtTmC$if!j353rcIQt
zeg`qUdpk%2K{QCLw`Yl1zB5c)DJ<`iVh7&G2lS4S_=oiOIliQwOsi}78sB2uf4C~R
A=l}o!

diff --git a/webapp/public/js/authentication/app.js b/webapp/public/js/authentication/app.js
index e8edfdc..be5ece8 100644
--- a/webapp/public/js/authentication/app.js
+++ b/webapp/public/js/authentication/app.js
@@ -2,11 +2,11 @@
 import {createRowDomain} from '../templates/domains-template.js';
 import { getToken, logoutKeycloak } from './script.js';
 import {createNewUser, createNewService, createControlServices} from '../templates/create-new-domain-template.js';
+import RequestToDomain from './requests-to-domain.js';
 
 class App {
-    constructor(myDomains, requestsToDomain) {
+    constructor(myDomains) {
         // this.myDomains = myDomains;
-        this.requestsToDomain = requestsToDomain;
         this.showAllDomains(myDomains);
         this.fillModal();
         this.performLogout();
@@ -27,10 +27,10 @@ class App {
         container.insertBefore(tr, plusRow);
         if(domainObject.admin) {
             const toggle = tr.querySelector('.toggle-button');
-            this.statoDomainToggle(domainObject, toggle, this.requestsToDomain);
+            this.statoDomainToggle(domainObject, toggle);
             const deleteDomain = tr.querySelector('.fa-trash');
             deleteDomain.addEventListener('click', async () => {
-                const resultDelete = await this.requestsToDomain.deleteDomain(domainObject);
+                const resultDelete = await RequestToDomain.deleteDomain(domainObject);
                 if(resultDelete) {
                     container.removeChild(tr);
                 }
@@ -42,14 +42,14 @@ class App {
     }
 
 
-    statoDomainToggle(domain, toggle, requestsToDomain) {
+    statoDomainToggle(domain, toggle) {
         toggle.addEventListener('click', async (event) => {
             event.preventDefault();
             const stop = toggle.classList.contains('active');
             const linkDomain = toggle.parentElement.parentElement.previousElementSibling.querySelector('a');
             if(stop) {
                 // toggle attiva. Se clicco richiedo che il dominio sia fermato
-                const resultStop = await requestsToDomain.stopDomain(domain);
+                const resultStop = await RequestToDomain.stopDomain(domain);
                 if(resultStop) {
                     toggle.classList.remove('active');
                     linkDomain.setAttribute('href','#');
@@ -59,11 +59,11 @@ class App {
                 }
             }
             else {
-                const resultStart = await requestsToDomain.startDomain(domain);
+                const resultStart = await RequestToDomain.startDomain(domain);
                 if(resultStart) {
                     toggle.classList.add('active');
                     linkDomain.setAttribute('href','/secured/home/');
-                    
+
                 }
                 else {
                     throw new Error('Impossibile far partire il dominio, provare piu\' tardi');
@@ -74,7 +74,7 @@ class App {
 
 
     async fillModal() {
-        const allServices = await this.requestsToDomain.getAllServices(); 
+        const allServices = await RequestToDomain.getAllServices(); 
         const div = document.createElement('div');
         div.id = "checkbox-div";
         div.classList.add('pt-4');
@@ -221,7 +221,7 @@ class App {
             };
             cancelForm.click();
 
-            const resultInstall = await this.requestsToDomain.createNewDomain(json);
+            const resultInstall = await RequestToDomain.createNewDomain(json);
             if(resultInstall) {
                 const domainCreated = {
                     nome: domainName,
diff --git a/webapp/public/js/authentication/script.js b/webapp/public/js/authentication/script.js
index b692148..f754ebe 100644
--- a/webapp/public/js/authentication/script.js
+++ b/webapp/public/js/authentication/script.js
@@ -37,8 +37,8 @@ else if(uri.includes("#")){
         if(token !== null) {
             expirationTime = moment().add(token.expires_in,'s');
             sessionStorage.setItem("expirationTime", expirationTime.toJSON());
-            const requestsToDomain = new RequestToDomain();
-            const myDomains = await requestsToDomain.getMyDomains();
+            
+            const myDomains = await RequestToDomain.getMyDomains();
 // const myDomains = [{nome: "casa1", stato:"on", admin: true},
 //                    {nome: "casa2", stato:"off", admin: false},
 //                    {nome: "casa3", stato:"off", admin: true},
@@ -49,7 +49,7 @@ else if(uri.includes("#")){
 //                    {nome: "casa4", stato:"on", admin: false}
 //                 ];
 
-            const app = new App(myDomains, requestsToDomain);
+            const app = new App(myDomains);
         }
     }
 } else if(uri.includes('/secured/home/')) {
-- 
GitLab