Skip to content

Commit

Permalink
Merge pull request #133 from xendit/patch/update-response-headers-fro…
Browse files Browse the repository at this point in the history
…m-instance

Update response header to get from instance instead of Static Variable
  • Loading branch information
xen-HendryZheng authored Mar 30, 2023
2 parents e79c5c1 + 7d817bd commit d173556
Show file tree
Hide file tree
Showing 53 changed files with 93 additions and 70 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1899,12 +1899,12 @@ The following example will show how to obtain Request-ID when creating QRCode
/* Without client */
QRCode qrCode = QRCode.createQRCode("12", QRCode.QRCodeType.DYNAMIC, "IDR", 10000);
/* Xendit.getResponseHeaders() will contain all response headers after your request is completed, hence you can obtain Request-Id from header by doing the following:*/
System.out.println(Xendit.getResponseHeaders().get("Request-Id"));
System.out.println(qrCode.getResponseHeaders().get("Request-Id"));

/* With client */
QRCode qrCode = xenditClient.qrCode.createQRCode("external_id", QRCode.QRCodeType.DYNAMIC, "IDR", 10000);
/* Xendit.getResponseHeaders() will contain all response headers after your request is completed, hence you can obtain Request-Id from header by doing the following:*/
System.out.println(Xendit.getResponseHeaders().get("Request-Id"));
System.out.println(qrCode.getResponseHeaders().get("Request-Id"));
```
Full Example can be found [here](https://github.com/xendit/xendit-java/blob/9bd69bd6f4061307a5dee30287a1f7712d060527/xendit-java-library-example/src/main/java/ExampleWithClient/ExampleCreateQRCode.java)

Expand Down
11 changes: 0 additions & 11 deletions xendit-java-lib/src/main/java/com/xendit/Xendit.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.xendit.network.BaseRequest;
import com.xendit.network.NetworkClient;
import java.util.Map;

public class Xendit {

Expand All @@ -20,16 +19,6 @@ public static void setRequestClient(NetworkClient requestClient) {
Xendit.requestClient = requestClient;
}

protected static Map<String, String> responseHeaders;

public static Map<String, String> getResponseHeaders() {
return responseHeaders;
}

public static void setResponseHeaders(Map<String, String> headers) {
Xendit.responseHeaders = headers;
}

public static class Option {

private String apiKey;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.xendit.model;

import java.util.Map;

public class AbstractResponseHeaders {
Map<String, String> responseHeaders;

public Map<String, String> getResponseHeaders() {
return responseHeaders;
}

public void setResponseHeaders(Map<String, String> responseHeaders) {
this.responseHeaders = responseHeaders;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.xendit.Xendit;

public class AbstractRetailOutlet {
public class AbstractRetailOutlet extends AbstractResponseHeaders {
protected static RetailOutletClient retailOutletClient;
/**
* Its create a client for RetailOutlet
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Builder
@Getter
@Setter
public class AccessibleLinkedAccount {
public class AccessibleLinkedAccount extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@ToString
public class AvailableBank {
public class AvailableBank extends AbstractResponseHeaders {
@SerializedName("name")
String name;

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

@Getter
@Setter
public class AvailableBankInvoice {
public class AvailableBankInvoice extends AbstractResponseHeaders {
@SerializedName("bank_code")
private String bankCode;

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

@Getter
@Setter
public class AvailableEwalletInvoice {
public class AvailableEwalletInvoice extends AbstractResponseHeaders {
@SerializedName("ewallet_type")
private String ewalletType;
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

@Getter
@Setter
public class AvailableRetailOutletInvoice {
public class AvailableRetailOutletInvoice extends AbstractResponseHeaders {
@SerializedName("retail_outlet_name")
private String retailOutletName;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class Balance {
public class Balance extends AbstractResponseHeaders {
@SerializedName("balance")
private Number balance;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class BatchDisbursement {
public class BatchDisbursement extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
@Getter
@Setter
@Builder
public class Beneficiary {
public class Beneficiary extends AbstractResponseHeaders {
@SerializedName("type")
private String type;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class CardlessCredit {
public class CardlessCredit extends AbstractResponseHeaders {
@SerializedName("redirect_url")
private String redirectUrl;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
@Builder
@Getter
@Setter
public class CardlessCreditCustomer {
public class CardlessCreditCustomer extends AbstractResponseHeaders {
@SerializedName("first_name")
private String firstName;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
@Builder
@Getter
@Setter
public class CardlessCreditItem {
public class CardlessCreditItem extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
@Builder
@Getter
@Setter
public class CardlessCreditShippingAddress {
public class CardlessCreditShippingAddress extends AbstractResponseHeaders {
@SerializedName("first_name")
private String firstName;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
@Getter
@Setter
@Builder
public class CreditCard {
public class CreditCard extends AbstractResponseHeaders {

private static CreditCardClient creditCardClient;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
@Builder
@Getter
@Setter
public class CreditCardCharge {
public class CreditCardCharge extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
@Builder
@Getter
@Setter
public class CreditCardRefund {
public class CreditCardRefund extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
@Builder
@Getter
@Setter
public class CreditCardReverseAuth {
public class CreditCardReverseAuth extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class Customer {
public class Customer extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
@Builder
@Setter
@Getter
public class DirectDebitBasketItem {
public class DirectDebitBasketItem extends AbstractResponseHeaders {
@SerializedName("reference_id")
private String referenceId;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
@Getter
@Setter
@Builder
public class DirectDebitPayment {
public class DirectDebitPayment extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
@Builder
@Setter
@Getter
public class DirectDebitRefunds {
public class DirectDebitRefunds extends AbstractResponseHeaders {
@SerializedName("data")
private String[] data;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
@Getter
@Setter
@Builder
public class Disbursement {
public class Disbursement extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class DisbursementChannel {
public class DisbursementChannel extends AbstractResponseHeaders {
@SerializedName("channel_code")
private String channelCode;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import lombok.AllArgsConstructor;

@AllArgsConstructor
public class DisbursementClient {
public class DisbursementClient extends AbstractResponseHeaders {
private Xendit.Option opt;

private NetworkClient requestClient;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
@Getter
@Setter
@Builder
public class DisbursementPHP {
public class DisbursementPHP extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class EWalletCharge {
public class EWalletCharge extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class EWalletPayment {
public class EWalletPayment extends AbstractResponseHeaders {
public enum EWalletType {
DANA,
OVO,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
@Getter
@Setter
@Builder
public class FixedPaymentCode {
public class FixedPaymentCode extends AbstractResponseHeaders {
public enum RetailOutletName {
ALFAMART,
INDOMARET
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
@Getter
@Setter
@Builder
public class FixedVirtualAccount {
public class FixedVirtualAccount extends AbstractResponseHeaders {

@SerializedName("id")
private String id;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
@Builder
@Getter
@Setter
public class FixedVirtualAccountPayment {
public class FixedVirtualAccountPayment extends AbstractResponseHeaders {
@SerializedName("id")
String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
@Getter
@Setter
@Builder
public class InitializedLinkedAccount {
public class InitializedLinkedAccount extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class Invoice {
public class Invoice extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class PaylaterCharge {
public class PaylaterCharge extends AbstractResponseHeaders {
@SerializedName("charge_id")
private String chargeId;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class PaylaterPlans {
public class PaylaterPlans extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Builder
@Getter
@Setter
public class PaylaterRefund {
public class PaylaterRefund extends AbstractResponseHeaders {
@SerializedName("refund_id")
private String refundId;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class PaymentMethod {
public class PaymentMethod extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
2 changes: 1 addition & 1 deletion xendit-java-lib/src/main/java/com/xendit/model/Payout.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class Payout {
public class Payout extends AbstractResponseHeaders {
@SerializedName("id")
private String id;

Expand Down
2 changes: 1 addition & 1 deletion xendit-java-lib/src/main/java/com/xendit/model/QRCode.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@Getter
@Setter
@Builder
public class QRCode {
public class QRCode extends AbstractResponseHeaders {
public enum QRCodeType {
DYNAMIC,
STATIC
Expand Down
Loading

0 comments on commit d173556

Please sign in to comment.