/* See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * Esri Inc. 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.esri.gpt.framework.http; /** * String based provider for the content of an HTTP request body. */ public class StringProvider extends ByteArrayProvider { /** instance variables ====================================================== */ private String cache; /** constructors ============================================================ */ /** * Constructs with a content String and a content type. * @param content the String providing the content for the HTTP request body * @param contentType the content type of the HTTP request body, * using null is not-recommended, only a MIME type is required e.g. text/xml */ public StringProvider(String content, String contentType) { super(ContentProvider.asBytes(content), ContentProvider.ensureContentTypeEncoding(contentType,"UTF-8")); this.cache = content; } /** properties ============================================================= */ /** * Gets the content associated with the HTTP request suitable for logging. * @return the loggable string (null if not applicable) */ @Override public String getLoggableContent() { return this.cache; } }