package com.mediafire.sdk;
import java.util.Arrays;
import java.util.Map;
public class MFHttpRequest implements MediaFireHttpRequest {
private final String url;
private final byte[] payload;
private final Map<String, Object> headers;
public MFHttpRequest(String url, byte[] payload, Map<String, Object> headers) {
this.url = url;
this.payload = payload;
this.headers = headers;
}
@Override
public String getRequestUrl() {
return url;
}
@Override
public byte[] getRequestPayload() {
return payload;
}
@Override
public Map<String, Object> getRequestHeaders() {
return headers;
}
@Override
public String toString() {
return "MFHttpRequest{" +
"url='" + url + '\'' +
", 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;
MFHttpRequest that = (MFHttpRequest) o;
if (url != null ? !url.equals(that.url) : that.url != null) return false;
if (!Arrays.equals(payload, that.payload)) return false;
return !(headers != null ? !headers.equals(that.headers) : that.headers != null);
}
@Override
public int hashCode() {
int result = url != null ? url.hashCode() : 0;
result = 31 * result + (payload != null ? Arrays.hashCode(payload) : 0);
result = 31 * result + (headers != null ? headers.hashCode() : 0);
return result;
}
}