package io.wdd.func.xray.beans.xray.transport;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.util.List;

@NoArgsConstructor
@Data
@SuperBuilder(toBuilder = true)
public class HTTPRequestObject {

    @JsonProperty(value = "version", defaultValue = "1.1")
    private String version;
    @JsonProperty(value = "method", defaultValue = "GET")
    private String method;
    @JsonProperty("path")
    private List<String> path;
    @JsonProperty("headers")
    private HeadersDTO headers;

    @NoArgsConstructor
    @Data
    @SuperBuilder(toBuilder = true)
    public static class HeadersDTO {
        @JsonProperty(value = "Host")
        private List<String> host;
        @JsonProperty("User-Agent")
        private List<String> userAgent;
        @JsonProperty("Accept-Encoding")
        private List<String> acceptEncoding;
        @JsonProperty("Connection")
        private List<String> connection;
        @JsonProperty("Pragma")
        private String pragma;
    }
}
