package com.banesco.common.domain.model;

import lombok.*;

import java.util.Map;

@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class HttpRequest {
    private String url;
    private HttpMethod method;
    private Object body;
    private Map<String, String> headers;
    private Map<String, String> queryParams;
    private Map<String, String> pathParams;

    @Builder.Default
    private Class<?> responseType = Object.class;

    private Class<?> genericType;

    @Builder.Default
    private int connectTimeout = 5000;

    @Builder.Default
    private int readTimeout = 10000;

    @Builder.Default
    private boolean returnFullResponse = false;

    public enum HttpMethod {
        GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
    }
}