
software.amazon.awssdk.http.SdkHttpMethod Maven / Gradle / Ivy
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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 software.amazon.awssdk.http;
import java.util.Locale;
import java.util.stream.Stream;
import software.amazon.awssdk.annotations.SdkProtectedApi;
/**
* Enum for available HTTP methods.
*/
@SdkProtectedApi
public enum SdkHttpMethod {
GET,
POST,
PUT,
DELETE,
HEAD,
PATCH,
OPTIONS,;
/**
* @param value Raw string representing value of enum
* @return HttpMethodName enum or null if value is not present.
* @throws IllegalArgumentException If value does not represent a known enum value.
*/
public static SdkHttpMethod fromValue(String value) {
if (value == null || value.isEmpty()) {
return null;
}
String upperCaseValue = value.toUpperCase(Locale.ENGLISH);
return Stream.of(values())
.filter(h -> h.name().equals(upperCaseValue))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unsupported HTTP method name " + value));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy