davide.cucurnia@vola.it
2024-02-07 59b0688842f1808c1a51f277d8605b3ec4a710de
commit | author | age
9f6455 1 <?php
DC 2
3 namespace App\Http\Controllers\FakeResponder;
4
5 use App\Http\Controllers\Controller;
24347e 6 use App\Http\Requests\genericPicasso;
9f6455 7 use App\Vola\Services\VolaFakeHTTPResponder\VolaFakeHTTPResponder;
DC 8 use Illuminate\Http\Request;
398fc7 9 use App\Vola\Classes\Utils;
9f6455 10
DC 11 class FakeResponder extends Controller
12 {
13
14     public string $cookieFakeSSOName = "CAuthCookie";
15     public string $cookieFakePicassoName = "SSOSESSIONID";
16     public array $headers;
17     public VolaFakeHTTPResponder $VolaFakeSSO;
18
19     function __construct()
20     {
21         $this->VolaFakeSSO = new VolaFakeHTTPResponder();
22         $this->headers = [
23             "Content-Type" => 'text/xml',
24         ];
cc9b73 25         if (config('custom.compressed_responses',false) === TRUE) {
D 26             $this->headers['content-encoding'] = 'gzip';
27         }
9f6455 28     }
DC 29
59b068 30     public function modelBasedRequest(Request $request)
91fb11 31     {
59b068 32         $this->logReceivedRequest($request);
91fb11 33
59b068 34         $picassoRequest = (str_starts_with('/picasso/', $request->getRequestUri()));
91fb11 35
59b068 36         if (!$picassoRequest && isset($_COOKIE[$this->cookieFakeSSOName])) {
D 37             $profile = intval(str_replace("xno:", "", $_COOKIE[$this->cookieFakeSSOName]));
38         } else if ($picassoRequest && isset($_COOKIE[$this->cookieFakePicassoName])) {
39             $profile = intval(str_replace("xno:", "", $_COOKIE[$this->cookieFakePicassoName]));
40         }
91fb11 41
59b068 42         if (isset($profile)) {
D 43             $responseContent = $this->VolaFakeSSO->getModelBasedResponses($request, $profile, $picassoRequest);
44             $this->logProcessedRequest($request, $responseContent, "SSO Legacy");
45             $responseContent = $this->compressIfRequested($request, $responseContent);
46             return response($responseContent, 200, $this->headers);
47         } else {
48             $this->logRejectedRequest($request);
49             return response('No cookie, no logged', 400, $this->headers);
50         }
91fb11 51     }
D 52
9f6455 53     public function manageLegacyRequest(Request $request)
DC 54     {
398fc7 55         $this->logReceivedRequest($request);
9f6455 56         if (isset($_COOKIE[$this->cookieFakeSSOName])) {
7c54fa 57             $profile = intval(str_replace("xno:", "", $_COOKIE[$this->cookieFakeSSOName]));
D 58             $responseContent = $this->VolaFakeSSO->getResponses($request, $profile);
cc9b73 59
7c54fa 60             $this->logProcessedRequest($request, $responseContent, "SSO Legacy");
398fc7 61             $responseContent = $this->compressIfRequested($request, $responseContent);
D 62
9f6455 63             return response($responseContent, 200, $this->headers);
7c54fa 64
9f6455 65         } else {
7c54fa 66             $this->logRejectedRequest($request);
D 67             return response('No cookie, no logged', 400, $this->headers);
9f6455 68         }
DC 69     }
70
24347e 71     public function managePicassoRequest(genericPicasso $request)
9f6455 72     {
398fc7 73         $this->logReceivedRequest($request);
9f6455 74         if (isset($_COOKIE[$this->cookieFakePicassoName])) {
7c54fa 75             $profile = intval(str_replace("xno:", "", $_COOKIE[$this->cookieFakePicassoName]));
D 76             $responseContent = $this->VolaFakeSSO->getResponses($request, $profile, true);
cc9b73 77
7c54fa 78             $this->logProcessedRequest($request, $responseContent, "Picasso");
398fc7 79             $responseContent = $this->compressIfRequested($request, $responseContent);
D 80
9f6455 81             return response($responseContent, 200, $this->headers);
DC 82         } else {
7c54fa 83             $this->logRejectedRequest($request);
D 84             return response('No cookie no logged', 400, $this->headers);
85         }
86     }
87
9f6455 88 }