Package com.nimbusds.oauth2.sdk.http

Source Code of com.nimbusds.oauth2.sdk.http.HTTPMessage

package com.nimbusds.oauth2.sdk.http;


import javax.mail.internet.ContentType;

import com.nimbusds.oauth2.sdk.ParseException;
import com.nimbusds.oauth2.sdk.util.ContentTypeUtils;


/**
* The base abstract class for HTTP requests and responses.
*/
abstract class HTTPMessage {


  /**
   * Specifies a {@code Content-Type} header value.
   */
  private ContentType contentType = null;


  /**
   * Gets the {@code Content-Type} header value.
   *
   * @return The {@code Content-Type} header value, {@code null} if not
   *         specified.
   */
  public ContentType getContentType() {
 
    return contentType;
  }
 
 
  /**
   * Sets the {@code Content-Type} header value.
   *
   * @param ct The {@code Content-Type} header value, {@code null} if not
   *           specified.
   */
  public void setContentType(final ContentType ct) {
 
    contentType = ct;
  }
 
 
  /**
   * Sets the {@code Content-Type} header value.
   *
   * @param ct The {@code Content-Type} header value, {@code null} if not
   *           specified.
   *
   * @throws ParseException If the header value couldn't be parsed to a
   *                        valid content type.
   */
  public void setContentType(final String ct)
    throws ParseException {
   
    if (ct == null) {
      contentType = null;
      return;
    }
   
    try {
      contentType = new ContentType(ct);
     
    } catch (javax.mail.internet.ParseException e) {
   
      throw new ParseException("Invalid Content-Type value: " + e.getMessage());
    }
  }
 
 
  /**
   * Ensures this HTTP message has a {@code Content-Type} header value.
   *
   * @throws ParseException If the {@code Content-Type} header is
   *                        missing.
   */
  public void ensureContentType()
    throws ParseException {
 
    if (contentType == null)
      throw new ParseException("Missing HTTP Content-Type header");
  }


  /**
   * Ensures this HTTP message has the specified {@code Content-Type}
   * header value. This method compares only the primary type and
   * subtype; any content type parameters, such as {@code charset}, are
   * ignored.
   *
   * @param contentType The expected content type. Must not be
   *                    {@code null}.
   *
   * @throws ParseException If the {@code Content-Type} header is missing
   *                        or its primary and subtype don't match.
   */
  public void ensureContentType(final ContentType contentType)
    throws ParseException {
   
    ContentTypeUtils.ensureContentType(contentType, getContentType());
  }
}
TOP

Related Classes of com.nimbusds.oauth2.sdk.http.HTTPMessage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.