package es.verdnatura.domain

import android.content.Context
import android.content.SharedPreferences
import es.verdnatura.MobileApplication
import okhttp3.FormBody
import okhttp3.Interceptor
import okhttp3.RequestBody
import okhttp3.Response
import java.io.IOException


class SilexInterceptor : Interceptor {
    private var context: Context

    constructor(context: Context) {
        this.context = context
    }

    @Throws(IOException::class)
    override fun intercept(chain: Interceptor.Chain): Response {

        val prefs: SharedPreferences =
            this.context.getSharedPreferences("es.verdnatura.user.prefs", 0)
        val request = chain.request()
        //sergio: condición para que añada o no headers según se vaya quitando de las llamadas
        //no quitar condición hasta que estén quitados
        //Tarea 5486 se añade Authorization, más adelante ver de quitar.
        if (request.headers().toString().isEmpty()) {
            val newRequest = request.newBuilder()
                .addHeader("aplicacion", "json")
                .addHeader("version", "1")
                // Tarea 5613 comentar user y pass cuando en Silex está subido
                //.addHeader("user",(context as MobileApplication).userName)
                //.addHeader("pass", (context as MobileApplication).userPassword)
                .addHeader("Authorization", prefs.getString("token", ""))
                .addHeader("Content-Type", "application/json")
                .build()
          //  d("VERDNATURA::", newRequest.headers().toString() + newRequest.url())
            return chain.proceed(newRequest)
        } else
            return chain.proceed(request)

    }
}
