Skip to content

Commit f56839f

Browse files
authored
Merge pull request #27 from maxmind/greg/fix-data-serialization
Fix serialization of /event/time. Fixes #26.
2 parents d8bc286 + c26a93e commit f56839f

5 files changed

Lines changed: 12 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
CHANGELOG
22
=========
33

4+
1.5.1
5+
-----------------
6+
7+
* Corrected serialization of `/event/time` input to be valid RFC 3339. Reported by
8+
Luis Rojas. GitHub #26.
9+
410
1.5.0 (2017-07-07)
511
------------------
612

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ Transaction request = new Transaction.Builder(
169169
.amount(new BigDecimal(Double.toString(1.1)))
170170
.currency("USD")
171171
.discountCode("10OFF")
172-
.referrerUri("http://www.google.com/")
172+
.referrerUri(new URI("http://www.google.com/"))
173173
.subaffiliateId("saf9")
174174
.build()
175175
).payment(

src/main/java/com/maxmind/minfraud/AbstractModel.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.fasterxml.jackson.databind.MapperFeature;
55
import com.fasterxml.jackson.databind.ObjectMapper;
66
import com.fasterxml.jackson.databind.SerializationFeature;
7+
import com.fasterxml.jackson.databind.util.ISO8601DateFormat;
78

89
import java.io.IOException;
910

@@ -19,6 +20,7 @@ public final String toJson() throws IOException {
1920
mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
2021
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
2122
mapper.disable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS);
23+
mapper.setDateFormat(new ISO8601DateFormat());
2224
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
2325

2426
return mapper.writeValueAsString(this);

src/main/java/com/maxmind/minfraud/WebServiceClient.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.fasterxml.jackson.databind.InjectableValues.Std;
77
import com.fasterxml.jackson.databind.MapperFeature;
88
import com.fasterxml.jackson.databind.ObjectMapper;
9+
import com.fasterxml.jackson.databind.util.ISO8601DateFormat;
910
import com.maxmind.minfraud.exception.*;
1011
import com.maxmind.minfraud.request.Transaction;
1112
import com.maxmind.minfraud.response.FactorsResponse;
@@ -61,6 +62,7 @@ private WebServiceClient(WebServiceClient.Builder builder) {
6162
mapper = new ObjectMapper();
6263
mapper.disable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS);
6364
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
65+
mapper.setDateFormat(new ISO8601DateFormat());
6466

6567
RequestConfig.Builder configBuilder = RequestConfig.custom()
6668
.setConnectTimeout(builder.connectTimeout)

src/test/resources/test-data/full-request.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"event": {
33
"transaction_id": "txn3134133",
44
"shop_id": "s2123",
5-
"time": "2012-04-12T23:20:50.052+0000",
5+
"time": "2012-04-12T23:20:50Z",
66
"type": "purchase"
77
},
88
"account": {

0 commit comments

Comments
 (0)