com.synopsys.integration.blackduck.http.BlackDuckRequestBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of blackduck-common Show documentation
Show all versions of blackduck-common Show documentation
A library for using various capabilities of Black Duck, notably the REST API and signature scanning.
/**
* blackduck-common
*
* Copyright (c) 2020 Synopsys, Inc.
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.synopsys.integration.blackduck.http;
import static com.synopsys.integration.blackduck.http.BlackDuckRequestFactory.FILTER_PARAMETER;
import static com.synopsys.integration.blackduck.http.BlackDuckRequestFactory.LIMIT_PARAMETER;
import static com.synopsys.integration.blackduck.http.BlackDuckRequestFactory.OFFSET_PARAMETER;
import static com.synopsys.integration.blackduck.http.BlackDuckRequestFactory.Q_PARAMETER;
import java.nio.charset.Charset;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import com.synopsys.integration.rest.HttpMethod;
import com.synopsys.integration.rest.HttpUrl;
import com.synopsys.integration.rest.body.BodyContent;
import com.synopsys.integration.rest.request.Request;
public class BlackDuckRequestBuilder {
private final Request.Builder requestBuilder;
public BlackDuckRequestBuilder(Request.Builder requestBuilder) {
this.requestBuilder = requestBuilder;
}
public Request build() {
return requestBuilder.build();
}
public Request.Builder getRequestBuilder() {
return requestBuilder;
}
public BlackDuckRequestBuilder url(HttpUrl url) {
requestBuilder.url(url);
return this;
}
public BlackDuckRequestBuilder setBlackDuckPageDefinition(BlackDuckPageDefinition blackDuckPageDefinition) {
addLimit(blackDuckPageDefinition.getLimit());
addOffset(blackDuckPageDefinition.getOffset());
return this;
}
public BlackDuckRequestBuilder addLimit(int limit) {
requestBuilder.addQueryParameter(LIMIT_PARAMETER, String.valueOf(limit));
return this;
}
public BlackDuckRequestBuilder addOffset(int offset) {
requestBuilder.addQueryParameter(OFFSET_PARAMETER, String.valueOf(offset));
return this;
}
public BlackDuckRequestBuilder addBlackDuckQuery(Optional blackDuckQuery) {
if (blackDuckQuery.isPresent()) {
requestBuilder.addQueryParameter(Q_PARAMETER, blackDuckQuery.get().getParameter());
}
return this;
}
public BlackDuckRequestBuilder addBlackDuckFilter(BlackDuckRequestFilter blackDuckRequestFilter) {
if (blackDuckRequestFilter != null) {
blackDuckRequestFilter.getFilterParameters().forEach(parameter -> {
requestBuilder.addQueryParameter(FILTER_PARAMETER, parameter);
});
}
return this;
}
public BlackDuckRequestBuilder method(HttpMethod method) {
requestBuilder.method(method);
return this;
}
public BlackDuckRequestBuilder acceptMimeType(String acceptHeader) {
requestBuilder.acceptMimeType(acceptHeader);
return this;
}
public BlackDuckRequestBuilder bodyEncoding(Charset bodyEncoding) {
requestBuilder.bodyEncoding(bodyEncoding);
return this;
}
public BlackDuckRequestBuilder queryParameters(Map> queryParameters) {
requestBuilder.queryParameters(queryParameters);
return this;
}
public BlackDuckRequestBuilder addQueryParameter(String key, String value) {
requestBuilder.addQueryParameter(key, value);
return this;
}
public BlackDuckRequestBuilder headers(Map headers) {
requestBuilder.headers(headers);
return this;
}
public BlackDuckRequestBuilder addHeader(String key, String value) {
requestBuilder.addHeader(key, value);
return this;
}
public BlackDuckRequestBuilder bodyContent(BodyContent bodyContent) {
requestBuilder.bodyContent(bodyContent);
return this;
}
public HttpUrl getUrl() {
return requestBuilder.getUrl();
}
public HttpMethod getMethod() {
return requestBuilder.getMethod();
}
public String getAcceptMimeType() {
return requestBuilder.getAcceptMimeType();
}
public Charset getBodyEncoding() {
return requestBuilder.getBodyEncoding();
}
public Map> getQueryParameters() {
return requestBuilder.getQueryParameters();
}
public Map getHeaders() {
return requestBuilder.getHeaders();
}
public BodyContent getBodyContent() {
return requestBuilder.getBodyContent();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy