So I tried out my approach and it works. You have to do two things:

1) add the specific CORS headers to each response
2) handle OPTIONS requests, since these requests are automatically send 
from most of the browsers as a "preflight" CORS request and couchbase light 
has no handler for the OPTIONS method.

The class to be modified:
https://github.com/couchbase/couchbase-lite-java-listener/blob/master/src/main/java/com/couchbase/lite/listener/LiteServlet.java

The code:

@Override
public void service(HttpServletRequest request, final HttpServletResponse 
response)throws ServletException, IOException {

// Handle OPTIONS request in order to respond to CORS
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "GET, PUT, POST, 
DELETE");
response.setHeader("Access-Control-Allow-Headers", "content-type, accept");
if("OPTIONS".equals(request.getMethod())){
  Log.v(Log.TAG_LISTENER, "Handle OPTIONS request in order to respond to 
CORS");
  response.setStatus(200);
  return;
}
...
}

I also attached the modified library for the Phonegap plugin for Android 
(couchbase-lite-java-listener-1.0.0-72.jar).

Hope that helps, cheers,
Stefan


-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mobile-couchbase+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/85302a9e-ae34-4c38-8c68-a30f5b573303%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: couchbase-lite-java-listener-1.0.0-72.jar
Description: application/java-archive

Reply via email to