Package waffle.servlet

## Class NegotiateRequestWrapper

- java.lang.Object
- - javax.servlet.ServletRequestWrapper
  - - javax.servlet.http.HttpServletRequestWrapper
    - - waffle.servlet.NegotiateRequestWrapper

All Implemented Interfaces:
  `javax.servlet.http.HttpServletRequest`, `javax.servlet.ServletRequest`

    public class NegotiateRequestWrapper
    extends javax.servlet.http.HttpServletRequestWrapper

Negotiate Request wrapper.

Author:
  dblock[at]dblock[dot]org

### Field Summary

### Fields inherited from interface javax.servlet.http.HttpServletRequest

`BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH`

### Constructor Summary

Constructors
`NegotiateRequestWrapper​(javax.servlet.http.HttpServletRequest newRequest, WindowsPrincipal newPrincipal)` Instantiates a new negotiate request wrapper.

### Method Summary

All Methods Instance Methods Concrete Methods
`String` `getAuthType()` Authentication type.
`String` `getRemoteUser()` Remote username.
`Principal` `getUserPrincipal()` User principal.
`boolean` `isUserInRole​(String role)` Returns true if the user is in a given role.

### Methods inherited from class javax.servlet.http.HttpServletRequestWrapper

`authenticate, changeSessionId, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, login, logout, newPushBuilder, upgrade`

### Methods inherited from class javax.servlet.ServletRequestWrapper

`getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, isWrapperFor, isWrapperFor, removeAttribute, setAttribute, setCharacterEncoding, setRequest, startAsync, startAsync`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface javax.servlet.ServletRequest

`getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync`

### Constructor Detail

#### NegotiateRequestWrapper

    public NegotiateRequestWrapper​(javax.servlet.http.HttpServletRequest newRequest,
                                   WindowsPrincipal newPrincipal)

Instantiates a new negotiate request wrapper.

Parameters:
  `newRequest` - the new request
  `newPrincipal` - the new principal

### Method Detail

#### getUserPrincipal

    public Principal getUserPrincipal()

User principal.

Specified by:
  `getUserPrincipal` in interface `javax.servlet.http.HttpServletRequest`
Overrides:
  `getUserPrincipal` in class `javax.servlet.http.HttpServletRequestWrapper`
Returns:
  the user principal

#### getAuthType

    public String getAuthType()

Authentication type.

Specified by:
  `getAuthType` in interface `javax.servlet.http.HttpServletRequest`
Overrides:
  `getAuthType` in class `javax.servlet.http.HttpServletRequestWrapper`
Returns:
  the auth type

#### getRemoteUser

    public String getRemoteUser()

Remote username.

Specified by:
  `getRemoteUser` in interface `javax.servlet.http.HttpServletRequest`
Overrides:
  `getRemoteUser` in class `javax.servlet.http.HttpServletRequestWrapper`
Returns:
  the remote user

#### isUserInRole

    public boolean isUserInRole​(String role)

Returns true if the user is in a given role.

Specified by:
  `isUserInRole` in interface `javax.servlet.http.HttpServletRequest`
Overrides:
  `isUserInRole` in class `javax.servlet.http.HttpServletRequestWrapper`
Parameters:
  `role` - the role
Returns:
  true, if is user in role