package com.castlabs.reactnative.errors;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import android.os.Bundle;

public class ErrorMetaData {
  public final @Nullable String url;
  public final @Nullable Integer httpStatusCode;
  public final @Nullable String httpResponseBody;

  public ErrorMetaData(
      @Nullable String url,
      @Nullable Integer httpStatusCode,
      @Nullable String httpResponseBody
  ) {
    this.url = url;
    this.httpStatusCode = httpStatusCode;
    this.httpResponseBody = httpResponseBody;
  }

  public ErrorMetaData(@NonNull Bundle data) {
    this.url = data.getString("url", null);

    int httpCode = data.getInt("httpCode", -1);
    this.httpStatusCode = httpCode > -1 ? httpCode : null;

    this.httpResponseBody = data.getString("responseBody", null);
  }
}
