package com.robotoworks.example.ghissues.net;
import com.robotoworks.mechanoid.net.Parser;
import java.io.IOException;
import com.robotoworks.mechanoid.net.Response;
import com.robotoworks.mechanoid.net.ServiceException;
import java.io.InputStream;
import com.robotoworks.mechanoid.net.ServiceClient;
import com.robotoworks.mechanoid.net.JsonEntityWriterProvider;
import com.robotoworks.mechanoid.net.JsonEntityReaderProvider;
public abstract class AbstractGithubClient extends ServiceClient {
private static final String LOG_TAG = "GithubClient";
protected static final String DEFAULT_BASE_URL = "https://api.github.com";
@Override
protected String getLogTag() {
return LOG_TAG;
}
@Override
protected JsonEntityWriterProvider createWriterProvider() {
return new DefaultGithubClientWriterProvider();
}
@Override
protected JsonEntityReaderProvider createReaderProvider() {
return new DefaultGithubClientReaderProvider();
}
public AbstractGithubClient(String baseUrl, boolean debug){
super(baseUrl, debug);
}
public Response<GetIssuesForRepositoryResult> getIssuesForRepository(GetIssuesForRepositoryRequest request)
throws ServiceException {
Parser<GetIssuesForRepositoryResult> parser = new Parser<GetIssuesForRepositoryResult>() {
public GetIssuesForRepositoryResult parse(InputStream inStream) throws IOException {
return new GetIssuesForRepositoryResult(getReaderProvider(), inStream);
}
};
return get(request, parser);
}
}