package com.artemzin.qualitymatters.api;
import android.support.annotation.NonNull;
import java.util.concurrent.atomic.AtomicReference;
import okhttp3.HttpUrl;
import retrofit2.BaseUrl;
/**
* Such implementation allows us easily change base url in the integration and functional tests!
*/
public class ChangeableBaseUrl implements BaseUrl {
@NonNull
private final AtomicReference<HttpUrl> baseUrl;
public ChangeableBaseUrl(@NonNull String baseUrl) {
this.baseUrl = new AtomicReference<>(HttpUrl.parse(baseUrl));
}
public void setBaseUrl(@NonNull String baseUrl) {
this.baseUrl.set(HttpUrl.parse(baseUrl));
}
@Override @NonNull
public HttpUrl url() {
return baseUrl.get();
}
}