title: How to enable cors nodejs with express?
body: <p>In summary I am using a viewer like api of dicom files called cornerstone, for this I connect to the WADO service of dc4chee to get the dicom, dcm4chee runs port 8080, and my application on node uses port 3000, so I am trying to show The browser's dicom.</p>
  <p><a href="https://www.npmjs.com/package/cornerstone-wado-image-loader" rel="noreferrer">https://www.npmjs.com/package/cornerstone-wado-image-loader</a></p>
  <p>This is the error displayed by the browser</p>
  <pre><code>XMLHttpRequest can not load http: // localhost: 8080 / wado? RequestType = WADO &amp; studyUID = 1.2.840.113704.1.111.5 ... 26513.429 &amp; contentType = application% 2Fdicom &amp; transferSyntax = 1.2.840.10008.1.2. In 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http: // localhost: 3000' is therefore not allowed access.
  </code></pre>
  <p>In the documentation specified</p>
  <p>Note that the web server must support Cross source resource sharing or the image will fail to load. If you are unable to get CORS enabled on the web server you are loading DICOM P10 instances from, you can use a reverse proxy. Here's a simple Node.js based on http-proxy that adds CORS headers that you might find useful.</p>
  <p>And show this example code but I'm using express and this code does not work</p>
  <pre><code>Var http = require ('http'),
      HttpProxy = require ('http-proxy');
  
  Var proxy = httpProxy.createProxyServer ({target: 'http: // localhost: 8042'}) .listen (8000);
  
  Proxy.on ('proxyRes', function (proxyReq, req, res, options) {
    // add the CORS header to the response
    Res.setHeader ('Access-Control-Allow-Origin', '*');
  });
  
  Proxy.on ('error', function (e) {
    // suppress errors
  });
  </code></pre>
  <p>Also use npm cors here the code</p>
  <pre><code>Var express = require ('express')
  Var cors = require ('cors')
  Var app = express ()
   
  App.get ('/ products /: id', cors (), function (req, res, next) {
    Res.json ({msg: 'This is CORS-enabled for a Single Route'))
  })
   
  App.listen (80, function () {
    Console.log ('CORS-enabled web server listening on port 80')
  })
  </code></pre>
  <p>But with this I enable the cors on port 3000 and not the 8080, I need the mode to activate or add 'Access-Control-Allow-Origin in headers response and not in header request,</p>
  <p>How can I do to add CORS on port 8080 where dcm4chee runs from NODEjs?</p>
  <p>update!</p>
  <p>The server responds with the following;</p>
  <p>RESPONDE HEADER</p>
  <pre><code>Content-Type:application/dicom
  Date:Sat, 01 Apr 2017 01:15:38 GMT
  Expires:0
  Server:Apache-Coyote/1.1
  Transfer-Encoding:chunked
  X-Powered-By:Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA 
  date=200807181439)/JBossWeb-2.0
  </code></pre>
  <p>REQUEST HEADER</p>
  <pre><code>Accept:*/*
  Accept-Encoding:gzip, deflate, sdch, br
  Accept-Language:es-ES,es;q=0.8,en-US;q=0.6,en;q=0.4
  Connection:keep-alive
  Host:localhost:8080
  Origin:http: //localhost:3000
  Referer:http: //localhost:3000/
  User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like 
  Gecko) Chrome/55.0.2883.87 Safari/537.36
  </code></pre>
  <p>HOW TO ENABLE THE CORS IN RESPONSE HEADER??</p>