package com.mediafire.sdk;
import java.util.Arrays;
import java.util.Map;
public class MFApiRequest implements MediaFireApiRequest {
private final String path;
private final Map<String, Object> queryParameters;
private final byte[] payload;
private final Map<String, Object> headers;
public MFApiRequest(String path, Map<String, Object> queryParameters, byte[] payload, Map<String, Object> headers) {
this.payload = payload;
this.path = path;
this.queryParameters = queryParameters;
this.headers = headers;
}
@Override
public String getPath() {
return path;
}
@Override
public Map<String, Object> getQueryParameters() {
return queryParameters;
}
@Override
public Map<String, Object> getHeaders() {
return headers;
}
@Override
public byte[] getPayload() {
return payload;
}
@Override
public String toString() {
return "MFApiRequest{" +
"path='" + path + '\'' +
", queryParameters=" + queryParameters +
", payload=" + (payload == null || payload.length == 0 ? "null or empty" : payload.length > 5000 ? "size: " + payload.length : new String(payload)) +
", headers=" + headers +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MFApiRequest that = (MFApiRequest) o;
if (getPath() != null ? !getPath().equals(that.getPath()) : that.getPath() != null) return false;
if (getQueryParameters() != null ? !getQueryParameters().equals(that.getQueryParameters()) : that.getQueryParameters() != null)
return false;
if (!Arrays.equals(getPayload(), that.getPayload())) return false;
return !(getHeaders() != null ? !getHeaders().equals(that.getHeaders()) : that.getHeaders() != null);
}
@Override
public int hashCode() {
int result = getPath() != null ? getPath().hashCode() : 0;
result = 31 * result + (getQueryParameters() != null ? getQueryParameters().hashCode() : 0);
result = 31 * result + (getPayload() != null ? Arrays.hashCode(getPayload()) : 0);
result = 31 * result + (getHeaders() != null ? getHeaders().hashCode() : 0);
return result;
}
}