Hi Saurabh, I've investigated ignite-rest-http module and found that handler from configuration will be overrided by default handler (org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java:332)
I've created issue for fix this problem https://issues.apache.org/jira/browse/IGNITE-3370 As temporally workaround you may do the following: 1) Extend embedded server class and place it into HandlerCollectionServer jar, add as dependency to project or if your using binary distributive put it into libs folder. package my.company.jetty; public class HandlerCollectionServer extends Server { private HandlerCollection hndCol; public HandlerCollectionServer(@Name("threadpool") ThreadPool pool) { super(pool); super.setHandler(hndCol = new HandlerCollection()); } /** {@inheritDoc} */ @Override public void setHandler(Handler hnd) { // Workaround. Don't override, just add to handlers collection. hndCol.addHandler(hnd); } } 2) Add dependency to project. <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-rewrite</artifactId> <version>${jetty.version}</version> </dependency> 3) Use following jetty configuration: <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" " http://www.eclipse.org/jetty/configure.dtd"> <Configure id="Server" class="my.company.jetty.HandlerCollectionServer"> <Arg name="threadPool"> <!-- Default queued blocking thread pool --> <New class="org.eclipse.jetty.util.thread.QueuedThreadPool"> <Set name="minThreads">20</Set> <Set name="maxThreads">200</Set> </New> </Arg> <Set name="stopAtShutdown">false</Set> <New id="httpCfg" class="org.eclipse.jetty.server.HttpConfiguration"> <Set name="secureScheme">https</Set> <Set name="securePort">8443</Set> <Set name="sendServerVersion">true</Set> <Set name="sendDateHeader">true</Set> </New> <Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.ServerConnector"> <Arg name="server"> <Ref refid="Server"/> </Arg> <Arg name="factories"> <Array type="org.eclipse.jetty.server.ConnectionFactory"> <Item> <New class="org.eclipse.jetty.server.HttpConnectionFactory"> <Ref refid="httpCfg"/> </New> </Item> </Array> </Arg> <Set name="host"> <SystemProperty name="IGNITE_JETTY_HOST" default="localhost"/> </Set> <Set name="port"> <SystemProperty name="IGNITE_JETTY_PORT" default="8080"/> </Set> <Set name="idleTimeout">30000</Set> <Set name="reuseAddress">true</Set> </New> </Arg> </Call> <Set name="handler"> <New id="RewriteHandler" class="org.eclipse.jetty.rewrite.handler.RewriteHandler"> <Set name="rules"> <Array type="org.eclipse.jetty.rewrite.handler.Rule"> <Item> <New id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule"> <Set name="pattern">*.*</Set> <Set name="name">Access-Control-Allow-Origin</Set> <Set name="value">*</Set> </New> </Item> </Array> </Set> </New> </Set> </Configure> On Fri, Jun 24, 2016 at 5:10 PM, Saurabh Sharma <saurabh.sha...@nviz.com> wrote: > Hi, > > > > Could anyone please tell us how to add response header > "Access-Control-Allow-Origin" > in the response returned from the rest call to ignite. > > > > Thanks, > Saurabh > > > > *From:* Saurabh Sharma [mailto:saurabh.sha...@nviz.com] > *Sent:* Thursday, June 23, 2016 7:46 PM > *To:* user@ignite.apache.org > *Subject:* Jetty configuration for adding new Handler > > > > Hi, > > > > We are using ignite-rest-http module to make Rest http calls. For that we > have included ignite-rest-http dependency in our ignite module and are able > to make http calls successfully. > > > > Now when we are trying to configure Jetty's RewriteHandler to set > HeaderPatternRule to set "Access-Control-Allow-Origin" this handler is not > being called and response header is not being set when we make http call. > > However I could see this handler being set at the time of ignite startup > during debugging. > > > > We are using following configuration. Could you please suggest if we are > missing anything. > > > > <?xml version="1.0"?> > > <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" " > http://www.eclipse.org/jetty/configure.dtd"> > > <Configure id="Server" class="org.eclipse.jetty.server.Server"> > > <Arg name="threadPool"> > > <!-- Default queued blocking thread pool --> > > <New class="org.eclipse.jetty.util.thread.QueuedThreadPool"> > > <Set name="minThreads">20</Set> > > <Set name="maxThreads">200</Set> > > </New> > > </Arg> > > <New id="httpCfg" class="org.eclipse.jetty.server.HttpConfiguration"> > > <Set name="secureScheme">https</Set> > > <Set name="securePort">8443</Set> > > <Set name="sendServerVersion">true</Set> > > <Set name="sendDateHeader">true</Set> > > </New> > > <New id="RewriteHandler" > class="org.eclipse.jetty.rewrite.handler.RewriteHandler"> > > <Set name="rules"> > > <Array > type="org.eclipse.jetty.rewrite.handler.Rule"> > > > > <Item> > > <New id="header" > class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule"> > > <Set > name="pattern">*.*</Set> > > <Set > name="name">myheader</Set> > > <Set name="value">the > value of myheader</Set> > > </New> > > </Item> > > > > </Array> > > </Set> > > </New> > > <Call name="addConnector"> > > <Arg> > > <New class="org.eclipse.jetty.server.ServerConnector"> > > <Arg name="server"><Ref refid="Server"/></Arg> > > <Arg name="factories"> > > <Array > type="org.eclipse.jetty.server.ConnectionFactory"> > > <Item> > > <New > class="org.eclipse.jetty.server.HttpConnectionFactory"> > > <Ref refid="httpCfg"/> > > </New> > > </Item> > > </Array> > > </Arg> > > <Set name="host"> > > <SystemProperty name="IGNITE_JETTY_HOST" > default="localhost"/> > > </Set> > > <Set name="port"> > > <SystemProperty name="IGNITE_JETTY_PORT" default="8080"/> > > </Set> > > <Set name="idleTimeout">30000</Set> > > <Set name="reuseAddress">true</Set> > > </New> > > </Arg> > > </Call> > > <Set name="handler"> > > <New id="Handlers" > class="org.eclipse.jetty.server.handler.HandlerCollection"> > > <Set name="handlers"> > > <Array type="org.eclipse.jetty.server.Handler"> > > <Item> > > <New id="Contexts" > class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/> > > </Item> > > </Array> > > </Set> > > </New> > > </Set> > > > > <New id="RewriteHandler" > class="org.eclipse.jetty.rewrite.handler.RewriteHandler"> > > <Set name="rules"> > > <Array > type="org.eclipse.jetty.rewrite.handler.Rule"> > > > > <Item> > > <New id="header" > class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule"> > > <Set > name="pattern">*.*</Set> > > <Set > name="name">Access-Control-Allow-Origin</Set> > > <Set name="value">*</Set> > > </New> > > </Item> > > > > </Array> > > </Set> > > </New> > > > > <Set name="handler"> > > <New id="Handlers" > class="org.eclipse.jetty.server.handler.HandlerCollection"> > > <Set name="handlers"> > > <Array > type="org.eclipse.jetty.server.Handler"> > > <Item> > > <Ref > refid="RewriteHandler"/> > > </Item> > > </Array> > > </Set> > > </New> > > </Set> > > <Set name="stopAtShutdown">false</Set> > > </Configure> > > > > Thanks, > > Saurabh > > > > *IMPORTANT NOTICE: This email and any files transmitted with it are > confidential and intended solely for the use of the individual or entity to > whom they are addressed. If you have received this email in error, please > notify the system manager and/or the sender immediately.* >