| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace iBemsDataService{    // NOTE    // The following change to web.config is required    // <system.serviceModel>    //    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />     static class CorsSupport    {        public static void HandlePreflightRequest( HttpContext context )        {            var req = context.Request;            var res = context.Response;            var origin = req.Headers["Origin"];            if( !String.IsNullOrEmpty( origin ) )            {                res.AddHeader( "Access-Control-Allow-Origin" , origin );                res.AddHeader( "Access-Control-Allow-Credentials" , "true" );                var methods = req.Headers["Access-Control-Request-Method"];                var headers = req.Headers["Access-Control-Request-Headers"];                if( !String.IsNullOrEmpty( methods ) )                    res.AddHeader( "Access-Control-Allow-Methods" , methods );                if( !String.IsNullOrEmpty( headers ) )                    res.AddHeader( "Access-Control-Allow-Headers" , headers );                if( req.HttpMethod == "OPTIONS" )                {                    res.StatusCode = 204;                    res.End();                }            }        }    }}
 |