package Ġme . rh ys xia . explore . server . configuration . graphql Ċ Ċ import Ġme . rh ys xia . explore . server . dto . Auth User Ċ import Ġme . rh ys xia . explore . server . service . Token Service Ċ import Ġorg . springframework . http . server . Server HttpRequest Ċ import Ġorg . springframework . http . server . Server HttpResponse Ċ import Ġorg . springframework . http . server . Servlet Server HttpRequest Ċ import Ġorg . springframework . web . socket . WebSocket Handler Ċ import Ġorg . springframework . web . socket . server . Handshake Interceptor Ċ import Ġjava . lang . Exception Ċ Ċ class ĠAuth Handshake Interceptor ( private Ġval Ġtoken Service : ĠToken Service ): ĠHand shake Interceptor Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbefore Handshake ( ĊĠĠĠĠĠĠĠ Ġrequest : ĠServer HttpRequest , ĊĠĠĠĠĠĠĠ Ġresponse : ĠServer HttpResponse , ĊĠĠĠĠĠĠĠ Ġws Handler : ĠWebSocket Handler , ĊĠĠĠĠĠĠĠ Ġattributes : ĠMutable Map < String , ĠAny > ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif ( request Ġis ĠServlet Server HttpRequest ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġrequest . servlet Request . getAttribute ( Auth Filter . USER _ KEY ) Ġas ĠAuth User ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( user Ġ!== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattributes [ Auth Filter . USER _ KEY ] Ġ= Ġuser ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġafter Handshake ( ĊĠĠĠĠĠĠĠ Ġrequest : ĠServer HttpRequest , ĊĠĠĠĠĠĠĠ Ġresponse : ĠServer HttpResponse , ĊĠĠĠĠĠĠĠ Ġws Handler : ĠWebSocket Handler , ĊĠĠĠĠĠĠĠ Ġexception : ĠException ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠ Ġ} Ċ }