package com.dbg.cloud.acheron.routing.endpoints; import com.dbg.cloud.acheron.routing.Route; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NonNull; import lombok.ToString; import java.util.Date; import java.util.Set; @Getter @AllArgsConstructor @ToString class RouteTO { public RouteTO(final @NonNull Route route) { this(route.getId(), route.getHttpMethods(), route.getPath(), route.getServiceId(), route.getUrl(), route.isKeepPrefix(), route.isRetryable(), route.isOverrideSensitiveHeaders(), route.getSensitiveHeaders(), route.getCreatedAt()); } @JsonView(View.Create.class) private final String id; @JsonView(View.Create.class) @JsonProperty("http_methods") private final Set<String> httpMethods; @JsonView(View.Create.class) private final String path; @JsonView(View.Create.class) @JsonProperty("service_id") private final String serviceId; @JsonView(View.Create.class) private final String url; @JsonView(View.Create.class) @JsonProperty("keep_prefix") private final boolean keepPrefix; @JsonView(View.Create.class) private final boolean retryable; @JsonView(View.Create.class) @JsonProperty("override_sensitive_headers") private final boolean overrideSensitiveHeaders; @JsonView(View.Create.class) @JsonProperty("sensitive_headers") private final Set<String> sensitiveHeaders; @JsonProperty("created_at") private final Date createdAt; }