Skip to content

Commit

Permalink
client request filter can enforce json media type,
Browse files Browse the repository at this point in the history
getting rid of all the other ugly hack that would have done the same
  • Loading branch information
Erich Birngruber committed Jan 21, 2014
1 parent 7149eea commit 99434de
Show file tree
Hide file tree
Showing 13 changed files with 33 additions and 249 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package at.outdated.bitcoin.exchange.api.client;

import at.outdated.bitcoin.exchange.api.jaxb.JsonEnforcingFilter;
import at.outdated.bitcoin.exchange.api.market.*;

import javax.json.Json;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package at.outdated.bitcoin.exchange.api.jaxb;

import javax.ws.rs.client.ClientRequestContext;
import javax.ws.rs.client.ClientRequestFilter;
import javax.ws.rs.client.ClientResponseContext;
import javax.ws.rs.client.ClientResponseFilter;
import javax.ws.rs.core.MediaType;
import java.io.IOException;

/**
* Created by ebirn on 21.01.14.
*/

public class JsonEnforcingFilter implements ClientResponseFilter {


@Override
public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {

responseContext.getHeaders().putSingle("Content-Type", MediaType.APPLICATION_JSON);

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import at.outdated.bitcoin.exchange.api.OrderId;
import at.outdated.bitcoin.exchange.api.client.RestExchangeClient;
import at.outdated.bitcoin.exchange.api.jaxb.JsonEnforcingFilter;
import at.outdated.bitcoin.exchange.api.market.Market;
import at.outdated.bitcoin.exchange.api.account.AccountInfo;
import at.outdated.bitcoin.exchange.api.account.Wallet;
Expand Down Expand Up @@ -39,6 +40,8 @@ public class BitcurexApiClient extends RestExchangeClient {
public BitcurexApiClient(Market market) {
super(market);

client.register(JsonEnforcingFilter.class);

tradeTarget = client.target("https://{quote}.bitcurex.com/api/0/");
publicTarget = client.target("https://{quote}.bitcurex.com/data");
}
Expand Down Expand Up @@ -136,17 +139,6 @@ public MarketDepth getMarketDepth(AssetPair asset) {
return depth;
}

@Override
protected <R> R simpleGetRequest(WebTarget resource, Class<R> resultClass) {
String resultStr = super.simpleGetRequest(resource, String.class);

log.debug("BITCUREX raw: " + resultStr);

R result = BitcurexJsonResolver.convertFromJson(resultStr, resultClass);

return result;
}

@Override
public TickerValue getTicker(AssetPair asset) {

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -98,18 +98,6 @@ public MarketDepth getMarketDepth(AssetPair asset) {
return depth;
}

@Override
protected <R> R simpleGetRequest(WebTarget target, Class<R> resultClass) {

R result = null;

String resultStr = super.simpleGetRequest(target, String.class);

result = BitkonanJsonResolver.convertFromJson(resultStr, resultClass);

return result;
}

@Override
public TickerValue getTicker(AssetPair asset) {

Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import at.outdated.bitcoin.exchange.api.OrderId;
import at.outdated.bitcoin.exchange.api.client.RestExchangeClient;
import at.outdated.bitcoin.exchange.api.jaxb.JsonEnforcingFilter;
import at.outdated.bitcoin.exchange.api.market.Market;
import at.outdated.bitcoin.exchange.api.account.AccountInfo;
import at.outdated.bitcoin.exchange.api.currency.Currency;
Expand Down Expand Up @@ -37,8 +38,10 @@ public class BtcEApiClient extends RestExchangeClient {

public BtcEApiClient(Market market) {
super(market);
client.register(JsonEnforcingFilter.class);

tradeFee = new SimplePercentageFee("0.002");

}

@Override
Expand All @@ -53,15 +56,13 @@ public AccountInfo getAccountInfo() {

data = new MultivaluedHashMap<>();
data.add("method", "getInfo");
String raw = protectedPostRequest(tgt, String.class, Entity.form(data));
//log.debug("raw info: {}", raw);
InfoResponse infoRes = BtcEJsonResolver.convertFromJson(raw, InfoResponse.class);
InfoResponse infoRes = protectedPostRequest(tgt, InfoResponse.class, Entity.form(data));

AccountInfo info = infoRes.result;

data = new MultivaluedHashMap<>();
data.add("method", "TransHistory");
raw = protectedPostRequest(tgt, String.class, Entity.form(data));
String raw = protectedPostRequest(tgt, String.class, Entity.form(data));

//log.debug("raw transactions: {}", raw);
JsonObject transResponse = jsonFromString(raw);
Expand Down Expand Up @@ -170,20 +171,6 @@ public MarketDepth getMarketDepth(AssetPair asset) {
return depth;
}


@Override
protected <R> R simpleGetRequest(WebTarget target, Class<R> resultClass) {

R result = null;

String resultStr = super.simpleGetRequest(target, String.class);

//log.debug("BTC-E raw: " + resultStr);
result = BtcEJsonResolver.convertFromJson(resultStr, resultClass);

return result;
}

@Override
public TickerValue getTicker(AssetPair asset) {

Expand Down

This file was deleted.

2 changes: 1 addition & 1 deletion kraken/kraken.iml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,8 @@ public class MtGoxClient extends RestExchangeClient {

public MtGoxClient(Market market) {
super(market);
client = ClientBuilder.newBuilder().register(MtGoxJSONResolver.class).build();
apiBaseResource = client.target(API_BASE_URL);


multiplier.put(Currency.BTC, new BigDecimal("1.0e8", CurrencyValue.CURRENCY_MATH_CONTEXT));
multiplier.put(Currency.USD, new BigDecimal("1.0e5", CurrencyValue.CURRENCY_MATH_CONTEXT));
multiplier.put(Currency.EUR, new BigDecimal("1.0e5", CurrencyValue.CURRENCY_MATH_CONTEXT));
Expand Down

This file was deleted.

0 comments on commit 99434de

Please sign in to comment.