Hi Rob, I have used the restxq custom response feature [1] to create the CORS header. Maybe it would work in your case?
<http:response> <http:header name="Access-Control-Allow-Origin" value="*"/> ... For example see [2] (of course Jetty 9 support would be great) /Andy [1] http://docs.basex.org/wiki/RESTXQ#Custom_Response [2] https://github.com/apb2006/graphxq/blob/1080533e6ccf8b00351df26ad80e976dc29ebce2/src/graphxq/graphxq.xqm#L199 On 25 February 2017 at 11:14, Rob Stapper <r.stap...@lijbrandt.nl> wrote: > Hi Michael. > > > > Thanx fort he extended reply. As you said: a lot of options. Since this is > a new area to me, it is a little overwhelming. > > Well, didn’t have any plans this weekend. > > > > Since I use NodeJS only for serving and generating Angular0files, I’ll > start checking that one out. > > > > Let you guys know when I’ve succeeded. > > > > Thnx, > > > > Rob > > > > *Van:* Michael Seiferle [mailto:m...@basex.org] > *Verzonden:* zaterdag 25 februari 2017 11:17 > *Aan:* Rob Stapper > *CC:* BaseX > *Onderwerp:* Re: [basex-talk] Cross-Origin Resource Sharing ( CORS) not > available in jetty version 8 > > > > Hi Rob, > > > > in addition to Christian’s mail, one more thought: > > > > Great, angular2, haven’t had more than a brief look at it so far :-) > > > > I guess you are using that NodeJS-application to serve and generate your > AngularJS-files, right? Or are there any other reasons you need NodeJS for? > > > > If you only need to serve your static files, you may as well use BaseX to > serve static contents and put all (e.g. symlink) Angular related stuff to > your `webapp/static`-folder. > > > > The documentation is here: http://docs.basex.org/wiki/Web_Application# > Available_Services > > An example can be found here (https://github.com/BaseXdb/ > basex/tree/master/basex-api/src/main/webapp) , there is a static folder > that will be mapped to localhost:8984/restxq/static > > > > > > If by any means you need the NodeJS Server next to RestXQ a possible > solution might be proxying the requests from NodeJS to your BaseX instance; > so from the Browsers perspective all requests are sent to localhost:3000 :-) > > I used https://www.npmjs.com/package/express-http-proxy to redirect all > request to http://localhost:3000/restxq -> http://localhost:8989/restxq/ > > > > If you can not modify your NodeJS-service you might have a look at > https://github.com/gr2m/CORS-Proxy: it provides out-of-the-box CORS > headers for arbitrary URLs > > > > Lots of options for these OPTIONS headers ;-) > > > > Hope this helps a bit. > > > > Best from Konstanz > > > > Michael > > > > > > P.S. in production it’s usually beneficial to have only a single > web-server face the world > > > > Am 25.02.2017 um 09:34 schrieb Rob Stapper <r.stap...@lijbrandt.nl>: > > > > Hi Christian, > > > > I’m trying to build a web based frontend with Angular(2) with Basex as > backend. > > Since Angular uses localhost:3000 and basex uses localhost:8984 I need > CORS to be activated in the bachend’s jetty-service. > > If I try to activate this by editing the web.xml file I get the message > from the jetty that this service is not available. > > Obviously version 8 of jetty does not support CORS. According to the > documentation Jetty 9 should support CORS. > > > > Is replacing jett 8 with version 9 somewere on the agenda? Or can I do > this myself? (new area for me) > > I wouldn’t mind testrunning it. > > > > TIA, > > Rob Stapper > > > > PS. I see the request the request being handled and send back by the > backend (basex) but it misses the necessary header. Debugging my Angular > app in the browser say that CORS-header is missing. > > >