blob: 868630f46b15d0cf06c8955cc79e9a9f2b376f57 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HttpServer.Builder (Apache Calcite Avatica API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="HttpServer.Builder (Apache Calcite Avatica API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HttpServer.Builder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.html" title="class in org.apache.calcite.avatica.server"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/calcite/avatica/server/Main.html" title="class in org.apache.calcite.avatica.server"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/avatica/server/HttpServer.Builder.html" target="_top">Frames</a></li>
<li><a href="HttpServer.Builder.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.calcite.avatica.server</div>
<h2 title="Class HttpServer.Builder" class="title">Class HttpServer.Builder&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.avatica.server.HttpServer.Builder&lt;T&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - element type</dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.html" title="class in org.apache.calcite.avatica.server">HttpServer</a></dd>
</dl>
<hr>
<br>
<pre>public static class <span class="typeNameLabel">HttpServer.Builder&lt;T&gt;</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Builder class for creating instances of <a href="../../../../../org/apache/calcite/avatica/server/HttpServer.html" title="class in org.apache.calcite.avatica.server"><code>HttpServer</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#Builder--">Builder</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.html" title="class in org.apache.calcite.avatica.server">HttpServer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#build--">build</a></span>()</code>
<div class="block">Builds the HttpServer instance from <code>this</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected org.eclipse.jetty.util.ssl.SslContextFactory</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#buildSSLContextFactory--">buildSSLContextFactory</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#newBuilder--">newBuilder</a></span>()</code>
<div class="block">Creates a typed Builder for Server customization.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withAutomaticLogin-java.io.File-">withAutomaticLogin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;keytab)</code>
<div class="block">Sets a keytab to be used to perform a Kerberos login automatically (without the use of JAAS).</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withBasicAuthentication-java.lang.String-java.lang.String:A-">withBasicAuthentication</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;allowedRoles)</code>
<div class="block">Configures the server to use HTTP Basic authentication.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withCustomAuthentication-org.apache.calcite.avatica.server.AvaticaServerConfiguration-">withCustomAuthentication</a></span>(<a href="../../../../../org/apache/calcite/avatica/server/AvaticaServerConfiguration.html" title="interface in org.apache.calcite.avatica.server">AvaticaServerConfiguration</a>&nbsp;config)</code>
<div class="block">Configures the server to use CUSTOM authentication mechanism, which can allow users to
combine benefits of multiple auth methods.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withDigestAuthentication-java.lang.String-java.lang.String:A-">withDigestAuthentication</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;allowedRoles)</code>
<div class="block">Configures the server to use HTTP Digest authentication.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withHandler-org.apache.calcite.avatica.server.AvaticaHandler-">withHandler</a></span>(<a href="../../../../../org/apache/calcite/avatica/server/AvaticaHandler.html" title="interface in org.apache.calcite.avatica.server">AvaticaHandler</a>&nbsp;handler)</code>
<div class="block">Sets an <a href="../../../../../org/apache/calcite/avatica/server/AvaticaHandler.html" title="interface in org.apache.calcite.avatica.server"><code>AvaticaHandler</code></a> directly on the builder.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withHandler-org.apache.calcite.avatica.remote.Service-org.apache.calcite.avatica.remote.Driver.Serialization-">withHandler</a></span>(<a href="../../../../../org/apache/calcite/avatica/remote/Service.html" title="interface in org.apache.calcite.avatica.remote">Service</a>&nbsp;service,
<a href="../../../../../org/apache/calcite/avatica/remote/Driver.Serialization.html" title="enum in org.apache.calcite.avatica.remote">Driver.Serialization</a>&nbsp;serialization)</code>
<div class="block">Sets the <a href="../../../../../org/apache/calcite/avatica/remote/Service.html" title="interface in org.apache.calcite.avatica.remote"><code>Service</code></a> and <a href="../../../../../org/apache/calcite/avatica/remote/Driver.Serialization.html" title="enum in org.apache.calcite.avatica.remote"><code>Driver.Serialization</code></a> information necessary to construct
the appropriate <a href="../../../../../org/apache/calcite/avatica/server/AvaticaHandler.html" title="interface in org.apache.calcite.avatica.server"><code>AvaticaHandler</code></a>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withImpersonation-org.apache.calcite.avatica.server.DoAsRemoteUserCallback-">withImpersonation</a></span>(<a href="../../../../../org/apache/calcite/avatica/server/DoAsRemoteUserCallback.html" title="interface in org.apache.calcite.avatica.server">DoAsRemoteUserCallback</a>&nbsp;remoteUserCallback)</code>
<div class="block">Sets a callback implementation to defer the logic on how to run an action as a given user and
if the action should be permitted for that user.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withMaxHeaderSize-int-">withMaxHeaderSize</a></span>(int&nbsp;maxHeaderSize)</code>
<div class="block">Configures the maximum size, in bytes, of an HTTP header that the server will read.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withMetricsConfiguration-org.apache.calcite.avatica.metrics.MetricsSystemConfiguration-">withMetricsConfiguration</a></span>(<a href="../../../../../org/apache/calcite/avatica/metrics/MetricsSystemConfiguration.html" title="interface in org.apache.calcite.avatica.metrics">MetricsSystemConfiguration</a>&lt;?&gt;&nbsp;metricsConfig)</code>
<div class="block">Sets the given configuration to enable metrics collection in the server.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withPort-int-">withPort</a></span>(int&nbsp;port)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withRemoteUserExtractor-org.apache.calcite.avatica.server.RemoteUserExtractor-">withRemoteUserExtractor</a></span>(<a href="../../../../../org/apache/calcite/avatica/server/RemoteUserExtractor.html" title="interface in org.apache.calcite.avatica.server">RemoteUserExtractor</a>&nbsp;remoteUserExtractor)</code>
<div class="block">Sets a callback implementation to defer the logic on how to use the right remoteUserExtractor
to extract remote user.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withServerCustomizers-java.util.List-java.lang.Class-">withServerCustomizers</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/ServerCustomizer.html" title="interface in org.apache.calcite.avatica.server">ServerCustomizer</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&gt;&nbsp;serverCustomizers,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;clazz)</code>
<div class="block">Adds customizers to configure a Server before startup.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withSpnego-java.lang.String-">withSpnego</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principal)</code>
<div class="block">Configures the server to use SPNEGO authentication.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withSpnego-java.lang.String-java.lang.String-">withSpnego</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;realm)</code>
<div class="block">Configures the server to use SPNEGO authentication.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withSpnego-java.lang.String-java.lang.String:A-">withSpnego</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;additionalAllowedRealms)</code>
<div class="block">Configures the server to use SPNEGO authentication.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withSpnego-java.lang.String-java.lang.String-java.lang.String:A-">withSpnego</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;realm,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;additionalAllowedRealms)</code>
<div class="block">Configures the server to use SPNEGO authentication.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html#withTLS-java.io.File-java.lang.String-java.io.File-java.lang.String-">withTLS</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;keystore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keystorePassword,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;truststore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;truststorePassword)</code>
<div class="block">Configures the server to use TLS for wire encryption.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Builder--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Builder</h4>
<pre>public&nbsp;Builder()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="newBuilder--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newBuilder</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;T&gt;&nbsp;newBuilder()</pre>
<div class="block">Creates a typed Builder for Server customization.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type of HttpServer</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A typed Builder</dd>
</dl>
</li>
</ul>
<a name="withPort-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withPort</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withPort(int&nbsp;port)</pre>
</li>
</ul>
<a name="withHandler-org.apache.calcite.avatica.remote.Service-org.apache.calcite.avatica.remote.Driver.Serialization-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withHandler</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withHandler(<a href="../../../../../org/apache/calcite/avatica/remote/Service.html" title="interface in org.apache.calcite.avatica.remote">Service</a>&nbsp;service,
<a href="../../../../../org/apache/calcite/avatica/remote/Driver.Serialization.html" title="enum in org.apache.calcite.avatica.remote">Driver.Serialization</a>&nbsp;serialization)</pre>
<div class="block">Sets the <a href="../../../../../org/apache/calcite/avatica/remote/Service.html" title="interface in org.apache.calcite.avatica.remote"><code>Service</code></a> and <a href="../../../../../org/apache/calcite/avatica/remote/Driver.Serialization.html" title="enum in org.apache.calcite.avatica.remote"><code>Driver.Serialization</code></a> information necessary to construct
the appropriate <a href="../../../../../org/apache/calcite/avatica/server/AvaticaHandler.html" title="interface in org.apache.calcite.avatica.server"><code>AvaticaHandler</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>service</code> - The Avatica service</dd>
<dd><code>serialization</code> - The serialization method</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withHandler-org.apache.calcite.avatica.server.AvaticaHandler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withHandler</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withHandler(<a href="../../../../../org/apache/calcite/avatica/server/AvaticaHandler.html" title="interface in org.apache.calcite.avatica.server">AvaticaHandler</a>&nbsp;handler)</pre>
<div class="block">Sets an <a href="../../../../../org/apache/calcite/avatica/server/AvaticaHandler.html" title="interface in org.apache.calcite.avatica.server"><code>AvaticaHandler</code></a> directly on the builder. Most users will not want to use
this method and should instead use <code>#withHandler(Service, Serialization)</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The handler</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withMetricsConfiguration-org.apache.calcite.avatica.metrics.MetricsSystemConfiguration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withMetricsConfiguration</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withMetricsConfiguration(<a href="../../../../../org/apache/calcite/avatica/metrics/MetricsSystemConfiguration.html" title="interface in org.apache.calcite.avatica.metrics">MetricsSystemConfiguration</a>&lt;?&gt;&nbsp;metricsConfig)</pre>
<div class="block">Sets the given configuration to enable metrics collection in the server.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricsConfig</code> - Configuration object for metrics.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withSpnego-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withSpnego</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withSpnego(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principal)</pre>
<div class="block">Configures the server to use SPNEGO authentication. This method requires that the
<code>principal</code> contains the Kerberos realm. Invoking this method overrides any
previous call which configures authentication.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - A kerberos principal with the realm required.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withSpnego-java.lang.String-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withSpnego</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withSpnego(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;additionalAllowedRealms)</pre>
<div class="block">Configures the server to use SPNEGO authentication. This method requires that the
<code>principal</code> contains the Kerberos realm. Invoking this method overrides any
previous call which configures authentication. Invoking this method overrides any previous
call which configures authentication. By default, only principals from the server's realm are
permitted, but additional realms can be allowed using <code>additionalAllowedRealms</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - A kerberos principal with the realm required.</dd>
<dd><code>additionalAllowedRealms</code> - Any additional realms, other than the server's realm, which
should be allowed to authenticate against the server. Can be null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withSpnego-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withSpnego</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withSpnego(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;realm)</pre>
<div class="block">Configures the server to use SPNEGO authentication. It is required that callers are logged
in via Kerberos already or have provided the necessary configuration to automatically log
in via JAAS (using the <code>java.security.auth.login.config</code> system property) before
starting the <a href="../../../../../org/apache/calcite/avatica/server/HttpServer.html" title="class in org.apache.calcite.avatica.server"><code>HttpServer</code></a>. Invoking this method overrides any previous call which
configures authentication.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - The kerberos principal</dd>
<dd><code>realm</code> - The kerberos realm</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withSpnego-java.lang.String-java.lang.String-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withSpnego</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withSpnego(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;realm,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;additionalAllowedRealms)</pre>
<div class="block">Configures the server to use SPNEGO authentication. It is required that callers are logged
in via Kerberos already or have provided the necessary configuration to automatically log
in via JAAS (using the <code>java.security.auth.login.config</code> system property) before
starting the <a href="../../../../../org/apache/calcite/avatica/server/HttpServer.html" title="class in org.apache.calcite.avatica.server"><code>HttpServer</code></a>. Invoking this method overrides any previous call which
configures authentication. By default, only principals from the server's realm are permitted,
but additional realms can be allowed using <code>additionalAllowedRealms</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - The kerberos principal</dd>
<dd><code>realm</code> - The kerberos realm</dd>
<dd><code>additionalAllowedRealms</code> - Any additional realms, other than the server's realm, which
should be allowed to authenticate against the server. Can be null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withAutomaticLogin-java.io.File-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withAutomaticLogin</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withAutomaticLogin(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;keytab)</pre>
<div class="block">Sets a keytab to be used to perform a Kerberos login automatically (without the use of JAAS).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keytab</code> - A KeyTab file for the server's login.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withImpersonation-org.apache.calcite.avatica.server.DoAsRemoteUserCallback-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withImpersonation</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withImpersonation(<a href="../../../../../org/apache/calcite/avatica/server/DoAsRemoteUserCallback.html" title="interface in org.apache.calcite.avatica.server">DoAsRemoteUserCallback</a>&nbsp;remoteUserCallback)</pre>
<div class="block">Sets a callback implementation to defer the logic on how to run an action as a given user and
if the action should be permitted for that user.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remoteUserCallback</code> - User-provided implementation of the callback</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withRemoteUserExtractor-org.apache.calcite.avatica.server.RemoteUserExtractor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withRemoteUserExtractor</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&nbsp;withRemoteUserExtractor(<a href="../../../../../org/apache/calcite/avatica/server/RemoteUserExtractor.html" title="interface in org.apache.calcite.avatica.server">RemoteUserExtractor</a>&nbsp;remoteUserExtractor)</pre>
<div class="block">Sets a callback implementation to defer the logic on how to use the right remoteUserExtractor
to extract remote user.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remoteUserExtractor</code> - User-provided remoteUserExtractor</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withBasicAuthentication-java.lang.String-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withBasicAuthentication</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withBasicAuthentication(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;allowedRoles)</pre>
<div class="block">Configures the server to use HTTP Basic authentication. The <code>properties</code> must
be in a form consumable by Jetty. Invoking this method overrides any previous call which
configures authentication. This authentication is supplementary to the JDBC-provided user
authentication interfaces and should only be used when those interfaces are not used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>properties</code> - Location of a properties file parseable by Jetty which contains users and
passwords.</dd>
<dd><code>allowedRoles</code> - An array of allowed roles in the properties file</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withDigestAuthentication-java.lang.String-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withDigestAuthentication</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withDigestAuthentication(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;allowedRoles)</pre>
<div class="block">Configures the server to use HTTP Digest authentication. The <code>properties</code> must
be in a form consumable by Jetty. Invoking this method overrides any previous call which
configures authentication. This authentication is supplementary to the JDBC-provided user
authentication interfaces and should only be used when those interfaces are not used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>properties</code> - Location of a properties file parseable by Jetty which contains users and
passwords.</dd>
<dd><code>allowedRoles</code> - An array of allowed roles in the properties file</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withCustomAuthentication-org.apache.calcite.avatica.server.AvaticaServerConfiguration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withCustomAuthentication</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withCustomAuthentication(<a href="../../../../../org/apache/calcite/avatica/server/AvaticaServerConfiguration.html" title="interface in org.apache.calcite.avatica.server">AvaticaServerConfiguration</a>&nbsp;config)</pre>
<div class="block">Configures the server to use CUSTOM authentication mechanism, which can allow users to
combine benefits of multiple auth methods. See <code>CustomAuthHttpServerTest</code> for
examples on how to use it.
Note: Default ServerConnectors and Handlers will NOT be used.
Customize them directly using instances <code><a href="../../../../../org/apache/calcite/avatica/server/ServerCustomizer.html" title="interface in org.apache.calcite.avatica.server"><code>ServerCustomizer</code></a></code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - AvaticaServerConfiguration implementation that configures various details
about the authentication mechanism for <code><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.html" title="class in org.apache.calcite.avatica.server"><code>HttpServer</code></a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withTLS-java.io.File-java.lang.String-java.io.File-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withTLS</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withTLS(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;keystore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keystorePassword,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;truststore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;truststorePassword)</pre>
<div class="block">Configures the server to use TLS for wire encryption.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keystore</code> - The server's keystore</dd>
<dd><code>keystorePassword</code> - The keystore's password</dd>
<dd><code>truststore</code> - The truststore containing the key used to generate the server's key</dd>
<dd><code>truststorePassword</code> - The truststore's password</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withServerCustomizers-java.util.List-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withServerCustomizers</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withServerCustomizers(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/ServerCustomizer.html" title="interface in org.apache.calcite.avatica.server">ServerCustomizer</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&gt;&nbsp;serverCustomizers,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;clazz)</pre>
<div class="block">Adds customizers to configure a Server before startup.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serverCustomizers</code> - The customizers to use</dd>
<dd><code>clazz</code> - The type of server to customize</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="withMaxHeaderSize-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withMaxHeaderSize</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="class in org.apache.calcite.avatica.server">HttpServer.Builder</a>&lt;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.Builder.html" title="type parameter in HttpServer.Builder">T</a>&gt;&nbsp;withMaxHeaderSize(int&nbsp;maxHeaderSize)</pre>
<div class="block">Configures the maximum size, in bytes, of an HTTP header that the server will read.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxHeaderSize</code> - Maximums HTTP header size in bytes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code></dd>
</dl>
</li>
</ul>
<a name="build--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>build</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/avatica/server/HttpServer.html" title="class in org.apache.calcite.avatica.server">HttpServer</a>&nbsp;build()</pre>
<div class="block">Builds the HttpServer instance from <code>this</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An HttpServer.</dd>
</dl>
</li>
</ul>
<a name="buildSSLContextFactory--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>buildSSLContextFactory</h4>
<pre>protected&nbsp;org.eclipse.jetty.util.ssl.SslContextFactory&nbsp;buildSSLContextFactory()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HttpServer.Builder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/avatica/server/HttpServer.html" title="class in org.apache.calcite.avatica.server"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/calcite/avatica/server/Main.html" title="class in org.apache.calcite.avatica.server"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/avatica/server/HttpServer.Builder.html" target="_top">Frames</a></li>
<li><a href="HttpServer.Builder.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2018 <a href="https://www.apache.org">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>