I have login API that returns sessionId in its response and I have to send this sessionId for API that takes sessionId in the header and returns if the user did log in before or not but it always returns false value in android. but I tested it using postman -with interceptor enabled- and it worked fine.
the cookie appeared in the log fine
here is what i did
public class CookieInterceptor implements Interceptor {
private static volatile String cookie;
public static void setSessionCookie(String cookies) {
cookie = cookies;
}
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request request = chain.request();
if (cookie != null) {
request = request.newBuilder()
.addHeader("Cookie", cookie)
.build();
}
return chain.proceed(request);
}
}
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
final OkHttpClient okHttpClient = new OkHttpClient.Builder()
.addNetworkInterceptor(logging)
.addInterceptor(new CookieInterceptor())
.readTimeout(120, TimeUnit.SECONDS)
.connectTimeout(120, TimeUnit.SECONDS)
.build();
mRetrofit = new Retrofit.Builder()
.baseUrl(Constants.BASE_URL)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxErrorHandlingCallAdapterFactory.create())
.build();
the log is : - for sent request
--> GET https://giftdisk.com/my_en/mobileapi/customer/status http/1.1
D/OkHttp: Cookie: frontend=d6652f83347c30f500cd444191b7cefb
D/OkHttp: Host: giftdisk.com
D/OkHttp: Connection: Keep-Alive
D/OkHttp: Accept-Encoding: gzip
D/OkHttp: User-Agent: okhttp/3.3.1
D/OkHttp: --> END GET
for received request
<-- 200 OK https://giftdisk.com/my_en/mobileapi/customer/status (728ms) D/OkHttp: Date: Thu, 09 Feb 2017 16:08:45 GMT D/OkHttp: X-Powered-By: PHP/5.4.45 D/OkHttp: Expires: Thu, 19 Nov 1981 08:52:00 GMT D/OkHttp: Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 D/OkHttp: Pragma: no-cache D/OkHttp: Content-Encoding: gzip D/OkHttp: Vary: Accept-Encoding D/OkHttp: Set-Cookie: frontend=dadcf55472df1475a63a965e8363c914; expires=Thu, 09-Feb-2017 17:08:46 GMT; path=/; domain=giftdisk.com; 02-10 06:13:32.859 31752-32731/ae.cws.giftdisk D/OkHttp: Set-Cookie: frontend_cid=j1JGqUiVmox6GjQ6; expires=Thu, 09-Feb-2017 17:08:46 GMT; path=/; domain=giftdisk.com; secure; httponly D/OkHttp: Keep-Alive: timeout=3, max=30 D/OkHttp: Connection: Keep-Alive D/OkHttp: Transfer-Encoding: chunked D/OkHttp: Content-Type: text/html; charset=UTF-8 D/OkHttp: <-- END HTTP (encoded body omitted)