From 3f43a07f9f5fbbace3a709677242a15f73116acf Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 1 Jan 2021 15:43:24 +0100 Subject: [PATCH] Implement favicon and static file support --- cmd/app/main.go | 7 ++++++- cmd/idp/main.go | 4 ++++ static/images/CAcert-favicon-src.svg | 2 ++ static/images/CAcert-logo.svg | 2 ++ static/images/favicon-120.png | Bin 0 -> 4760 bytes static/images/favicon-128.png | Bin 0 -> 5141 bytes static/images/favicon-152.png | Bin 0 -> 6033 bytes static/images/favicon-167.png | Bin 0 -> 6685 bytes static/images/favicon-180.png | Bin 0 -> 7223 bytes static/images/favicon-192.png | Bin 0 -> 7841 bytes static/images/favicon-196.png | Bin 0 -> 7971 bytes static/images/favicon-228.png | Bin 0 -> 9318 bytes static/images/favicon-32.png | Bin 0 -> 1468 bytes static/images/favicon-57.png | Bin 0 -> 2291 bytes static/images/favicon-76.png | Bin 0 -> 3030 bytes static/images/favicon-96.png | Bin 0 -> 3788 bytes templates/app/base.gohtml | 20 +++++++++++++++++++- templates/idp/base.gohtml | 20 +++++++++++++++++++- 18 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 static/images/CAcert-favicon-src.svg create mode 100644 static/images/CAcert-logo.svg create mode 100644 static/images/favicon-120.png create mode 100644 static/images/favicon-128.png create mode 100644 static/images/favicon-152.png create mode 100644 static/images/favicon-167.png create mode 100644 static/images/favicon-180.png create mode 100644 static/images/favicon-192.png create mode 100644 static/images/favicon-196.png create mode 100644 static/images/favicon-228.png create mode 100644 static/images/favicon-32.png create mode 100644 static/images/favicon-57.png create mode 100644 static/images/favicon-76.png create mode 100644 static/images/favicon-96.png diff --git a/cmd/app/main.go b/cmd/app/main.go index 3961eee..c936b08 100644 --- a/cmd/app/main.go +++ b/cmd/app/main.go @@ -131,13 +131,18 @@ func main() { if err != nil { logger.Fatalf("could not initialize index handler: %v", err) } - callbackHandler := handlers.NewCallbackHandler(ctx) + callbackHandler := handlers.NewCallbackHandler(ctx, logger) afterLogoutHandler := handlers.NewAfterLogoutHandler(logger) + staticFiles := http.FileServer(http.Dir("static")) router := http.NewServeMux() router.Handle("/", authMiddleware(indexHandler)) router.Handle("/callback", callbackHandler) router.Handle("/after-logout", afterLogoutHandler) + router.Handle("/health", commonHandlers.NewHealthHandler()) + router.Handle("/images/", staticFiles) + router.Handle("/css/", staticFiles) + router.Handle("/js/", staticFiles) nextRequestId := func() string { return fmt.Sprintf("%d", time.Now().UnixNano()) diff --git a/cmd/idp/main.go b/cmd/idp/main.go index 27d67d1..9ec5aa0 100644 --- a/cmd/idp/main.go +++ b/cmd/idp/main.go @@ -105,6 +105,7 @@ func main() { logoutHandler := handlers.NewLogoutHandler(handlerContext, logger) logoutSuccessHandler := handlers.NewLogoutSuccessHandler() errorHandler := handlers.NewErrorHandler() + staticFiles := http.FileServer(http.Dir("static")) router := http.NewServeMux() router.Handle("/login", loginHandler) @@ -113,6 +114,9 @@ func main() { router.Handle("/error", errorHandler) router.Handle("/logout-successful", logoutSuccessHandler) router.Handle("/health", commonHandlers.NewHealthHandler()) + router.Handle("/images/", staticFiles) + router.Handle("/css/", staticFiles) + router.Handle("/js/", staticFiles) if err != nil { logger.Fatal(err) diff --git a/static/images/CAcert-favicon-src.svg b/static/images/CAcert-favicon-src.svg new file mode 100644 index 0000000..ab1fe9e --- /dev/null +++ b/static/images/CAcert-favicon-src.svg @@ -0,0 +1,2 @@ + + diff --git a/static/images/CAcert-logo.svg b/static/images/CAcert-logo.svg new file mode 100644 index 0000000..eb1957d --- /dev/null +++ b/static/images/CAcert-logo.svg @@ -0,0 +1,2 @@ + + diff --git a/static/images/favicon-120.png b/static/images/favicon-120.png new file mode 100644 index 0000000000000000000000000000000000000000..e2af553b0ac1ff8d11dac5addc17af6211098368 GIT binary patch literal 4760 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 literal 0 HcmV?d00001 diff --git a/static/images/favicon-152.png b/static/images/favicon-152.png new file mode 100644 index 0000000000000000000000000000000000000000..2e9135e8379b446134df90e89bea720ac56ccee2 GIT binary patch literal 6033 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 W1ly>;P5LjVqp5t*RH%Fpg8dI^T#)Vn literal 0 HcmV?d00001 diff --git a/static/images/favicon-167.png b/static/images/favicon-167.png new file mode 100644 index 0000000000000000000000000000000000000000..4ea35b5f246745675f4efec40cd7fe7ce6468879 GIT binary patch literal 6685 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 bctL>^6&DzG(JlXb?I0=0s>)PJn}+-kV9w~1 literal 0 HcmV?d00001 diff --git a/static/images/favicon-180.png b/static/images/favicon-180.png new file mode 100644 index 0000000000000000000000000000000000000000..af49e75a003699cd0c0a3d4b98dda22ac5f14292 GIT binary patch literal 7223 zcmcJUWm6jr(}i(&hZG3zP#hZELP~++?i6=Q(Be{xq__l%Q`}vPyA^l05}?JM_kMoF z`{C?0vmbY6XLrtt{-_4V$DzSNLPElaC@X0G$A)C=xJr)_KDZk!xnxfL4$+@=!YoCYWu95 znqUWz>HH27e@g_+V1ASD!^g{6b&|h>%v8N9}W&h|Z-W+G1d%fjiWtJ4IHhXPvGwpmw z#YBXKh7uwJ{C@;9vzRReAP%w>v_0Lr&cx3$F__GN*+hOUKq{aX+lOeEC8ND=k*#a2^`r4+N-J^#a4b%C& z>KP=~^&IN`m>^&$w1!;xsFlh8JR3Cit zu$;hw=)Nqge1y)^sxF#gAL8cU<-4r(8u;yR3KoV+_xRFIU=Kg#RR)zQ{VBJ_yY!=j zJ$T@%OS^o)&MEv5lJvqVtNaEMZw={b1TxhXE@wo)%c-e3$z?hsek*MlNslUe)G&JK zAo|H#SPqi{O<{bqaK%}34}&ipJX7G7k4c&}tW-yd_&Xrp>H$Zao18krYBPRi#tT9@ z*gLqq2xHS`xXK-Jxd@mvpSa)%^sZ#`P=Y;CxP=Y~fA3E~^zn4b)C4hdbH<3PAj`dw zsHsg)GL>_Zw06F{(M7oEM@+v&1TuK0e8u@CJROG-Q@Jdx&9q9a-!e+NbIgh6S z5WMMC;o!m!3x~Bs&cy@d6+KdJ8#08H#^0dtp*QwhF?ffOuIQ*lSEQ{=arkIubpX_k;<_(eA&e zo$&+4NI72#nmp;B^}&+<&MCX+2FtoN(G&;`rje}mf-MOjv>>0g1o8Org{LV$xoT-8 zJB~ZQJF%%YFC4RLqla3nMOw&qrArRbFVM8g-CAjv9^+-!9daN>Li1%pX1o)_2CRpN z`OyTnLIuBu572KwbyId(tLy+V_u{ctD>U*p)1xNl(~mGCfuV%y%;kTDA*mZVdcO~f z4p41NcH586KzGv8?+Qlw`Oe38e&S`)CEfpnjGhXIjWYmF|GKLlh>`jU+S($?2E~vC zUmeU8I&}L#FMi(ed&=g|D%b)=pO5^-1eN?F8UkhPey~$jA*=^j+^%`Y-J^TQ!}{Kk zXXX6LG;oPH<7D)-Br;s(e}n1)BuNkrF8*<~LjF{UEVwHOMrM)b@1$<+(J~L-Bu-c- z_CvK*Z2&&y0hy*Jibt~VKzDF7np;D$vz^8)VW@}mf+zG(W?$*dtPz?80P6QSe}&rEh?XjReFbbZ{L)780-vyzA1uK^|!i?LfHzV*Kkn z**|yJ-CQEmZew*?3f6WrvCN=x+a_^J4D4Mp!h6$;)#ViQx5^1ZUHr|AI_)&=vLU#{ z3)nr7Iqm8W#UXObps<^gq=+qB#aVgckJ~%6(&QfR!Nm@^l+O4#W5jx{e5XxB&AVaptFV{F@jSIAnnN$hk92=YjMqOUo06(9%L*FM;fP8 zB67{$GZf7{T} z$D_Qry`r!@tcZR;pYZOP;5-aW%@QXHyR&#&m6jmmS%PELAMA8x4CWegjHPYZIQO%I zo0`i#@tK5(8obdoPcaQ}Ja8TU{w3p()OAa33aPK(YAN5kRI;GO_t|{+J*N|RyRxZu z-|?E&=g*UPM=k$zFmoEbo2dZ!(M8I%j7oEfF{NgX-~K(N*1jUSb9i(a{`c|(NZ32o z`nTI}ezJM01CL6cSUCb9=NKa+8I2R1Ol_J)z$+B8x4w00W5LVNaTXuBc9diK^zZm7 zwJ6)l#{2Q9r?l3}O}rhQw>t2hpP=uVt91OTonKv8Gd>MWt5 zA>Gd&t0$3V;S22ty5BmCkCxd%={L5oD6i^vd`#k-V){eEJvkeJjP#Ga^A2kbzZ{

n~2JjNM@3>W~gg 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 literal 0 HcmV?d00001 diff --git a/static/images/favicon-228.png b/static/images/favicon-228.png new file mode 100644 index 0000000000000000000000000000000000000000..870842695f671c3a5d92b1919c18d382efd892f1 GIT binary patch literal 9318 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 Wu$&W>_P-t>1O-`T8K{&=;Qs(mJJsL- literal 0 HcmV?d00001 diff --git a/static/images/favicon-32.png b/static/images/favicon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..58bc7bd94a5fe513e4057dbd79d72ab79801f38c GIT binary patch literal 1468 zcmV;t1w;CYP)j=zj`GnOp3*=5Q`SWuZV8UjYV6Dw2jn{KP zU}Vja3Af#l)aE?<>#%;Dn#Q8*^%ww2d1a#wH4cHMU8klC=#CWA_r&9mDNofYPaIe7 zR`|f>x|UbpkinVr!z0Dzr_3#OTt|S43R{4&@BT;mzG%lkjfor=s$X!iZKsCG%=Y#Y-h~=t{^hc|JX@dEKp zk722;orixI=iL9@WG*)k26PedSw9DyM;=O*&ICGUe?(yTX%HGcw{*T8s<1EzlUK;) zF_bHws-oRaHAcChB-ze2pp7VA1sIy_dGeVjK4U2|@tC zs>%=m@kbL=_W+iQx2^4*U+F;jmKscy9}x~Bw4*qvVI`0b+yMkoRx^z~#=`E>$rBsc zxhJPDMMf2XLY1kq>_mMgC+ag9lKkheN$)f!0WEzY>`inK_T~|-OydovGX^U&QMMuc zj$lVf1U$elOlFbGB&M^6;$kBvs%v3nQ%s*8bBK?lzF3x$x=Z@RD-wD9P$`U;)q!TpW~NI>YOTJ&E#csM_C^2kHRW^VJj* z;@io&>(m8-li?S_Z;`I`jt3I+%2y$}CPJv`8*{kHo4q$Z=GdI0(Ld)721fUB?e1+W zTz$Pq5WO2fMEPXH>a&BBt~z>P@)Y56a9F~E^6_HoPhs=@-2s1!0pPA){yOk(h!Vv& z?vUY~{N+uK@8?VO&$&~>mWPnApkf4~p(9UKe8=lE?pJ8BKy9sZPmuF$ec=@7>9BUY z)f$y=1UI_3tyn553(Q#e`Hnds;=lPP;=Wi)RKs2UmMZ+H@LaD)=3>H*bW!%LnSSzu z9kLb5fKA7gO~;i%y$(rrzhR<_`u`z0NGv_9wKm^$Id0#RZPIN`R*`5m>A;YSYMMve zs*9R}B^t literal 0 HcmV?d00001 diff --git a/static/images/favicon-57.png b/static/images/favicon-57.png new file mode 100644 index 0000000000000000000000000000000000000000..f57fb15a54d926eb09eab3f3ceb5ee2dcac06115 GIT binary patch literal 2291 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 Y1GG!TR$*;%CjbBd07*qoM6N<$g5@o!SO5S3 literal 0 HcmV?d00001 diff --git a/static/images/favicon-96.png b/static/images/favicon-96.png new file mode 100644 index 0000000000000000000000000000000000000000..0e8584e18855190d157eac0e9a775bd0c7953032 GIT binary patch literal 3788 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

Y+x^Sif8gB?iV*lIEB`>iSIda^E4vD`<5O%^ z=;!EwB^8G>2KGk{J&v}1=t5D%X;{n3RsJgJMak1s3)r~{j z3NcVlbp`T;f2zX|B+J;bXy?~w*G~C|Q2*FuO3C@y=UGr&)|3*uM!)TI=br9y^k!zP zadtLdv=Y^kkJo>~;0am3yyl*&&JWI7x6%4K2V`qr-L8}Niho>V(ZfV4=B!25@8|aw z1?OCcM!Vgt?ii5V(p6Wv(!*5ps^?bXpZ)f+D?lj% nU5Z`GQvaW~{ik#}O(*Pi(R}b%$zb!pCJLbRP4((;y2Shs=)F2; literal 0 HcmV?d00001 diff --git a/templates/app/base.gohtml b/templates/app/base.gohtml index 545279a..34f6805 100644 --- a/templates/app/base.gohtml +++ b/templates/app/base.gohtml @@ -1,7 +1,25 @@ {{ define "base" }} - {{ .Title }} + + {{ .Title }} + + + + + + + + + + + + + + + + + {{ template "content" . }} diff --git a/templates/idp/base.gohtml b/templates/idp/base.gohtml index 6a2c32e..f936128 100644 --- a/templates/idp/base.gohtml +++ b/templates/idp/base.gohtml @@ -1,7 +1,25 @@ {{ define "base" }} - {{ .Title }} + + {{ .Title }} + + + + + + + + + + + + + + + + +

{{ .Title }}

{{ template "content" . }}