<?php

namespace App\Http\Middleware;

use App\Http\Controllers\ConsumerAPI\ConsumerApiController;
use App\Http\Controllers\ConsumerAPI\MessageBag;
use Closure;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

class EMICheckoutAPIAuth
{
    private $request;

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $this->request = $request;
        if ($this->getToken()) {
            return $next($request);
        }

        return response()->json(json_decode('{
    "status": "FAIL",
    "error": {
        "message": "Unauthorized access",
        "code": "CF500001"
    }
}', 1), 401);
    }

    public function getToken(){
        if ($this->request->header('Authorization') && str_replace('Bearer ', '', $this->request->header('Authorization')) == _env('CF_EMI_CHECKOUT_AUTH_TOKEN')){
            return true;
        }
        return false;
    }
}
