package glaze.examples.mashape; import java.io.IOException; import glaze.client.async.DefaultAsyncClient; import glaze.client.config.DefaultPropertyConfig; import org.apache.http.HttpException; import org.apache.http.HttpRequest; import org.apache.http.HttpRequestInterceptor; import org.apache.http.protocol.HttpContext; public class MashapeClient extends DefaultAsyncClient { private class MashapeAuth implements HttpRequestInterceptor { private final String publicKey; private final String privateKey; public MashapeAuth(DefaultPropertyConfig config) { this.publicKey = config.get("key.public"); this.privateKey = config.get("key.private"); } @Override public void process(HttpRequest req, HttpContext ctx) throws HttpException, IOException { req.addHeader("X-Mashape-Authorization", AuthUtil.getAuthToken(publicKey, privateKey)); } } public MashapeClient() { super(); DefaultPropertyConfig config = new DefaultPropertyConfig("mashape.config", "mashape.properties"); interceptRequest(new MashapeAuth(config), 0); } }