package org.intermine.app.net.request; /* * Copyright (C) 2015 InterMine * * This code may be freely distributed and modified under the * terms of the GNU Lesser General Public Licence. This should * be distributed with the code. See the LICENSE file for more * information or http://www.gnu.org/copyleft/lesser.html. * */ import android.content.Context; import org.intermine.app.util.Uris; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; import java.net.URI; import java.util.Map; import static org.springframework.http.HttpMethod.GET; public abstract class GetRequest<T> extends BaseRequest<T> { public static final String FORMAT_PARAM = "format"; public GetRequest(Class<T> clazz, Context ctx, String url, Map<String, ?> params) { super(clazz, ctx, url, params); } protected byte[] loadBytes(String uriString, Map<String, ?> params) { RestTemplate rtp = getRestTemplate(); HttpHeaders headers = getHeaders(); HttpEntity<String> req = new HttpEntity<>(headers); ResponseEntity<byte[]> res; URI uri = URI.create(expandQuery(uriString, params)); res = rtp.exchange(uri, GET, req, byte[].class); return res.getBody(); } protected String expandQuery(String uriString, Map<String, ?> params) { return Uris.expandQuery(uriString, params); } }