enable CORS

Change-Id: Ia189bf1828997580056346cc943fdf682ce0da40
This commit is contained in:
Xin
2016-02-03 13:28:41 -08:00
committed by Xin Yu
parent c58271dd1d
commit cff1004891
3 changed files with 27 additions and 0 deletions

View File

@@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from kb_server.hooks.cors import CorsHook
# Server Specific Configurations
server = {
'port': '8080',
@@ -29,6 +30,7 @@ app = {
# 404: '/error/404',
# '__force_dict__': True
# }
'hooks': [CorsHook()]
}
logging = {

View File

View File

@@ -0,0 +1,25 @@
# Copyright 2015 Cisco Systems, Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from pecan.hooks import PecanHook
class CorsHook(PecanHook):
def after(self, state):
state.response.headers['Access-Control-Allow-Origin'] = '*'
state.response.headers['Access-Control-Allow-Methods'] = 'GET, POST, PUT, DELETE, OPTIONS'
state.response.headers['Access-Control-Allow-Headers'] = 'origin, authorization, accept'
if not state.response.headers['Content-Length']:
state.response.headers['Content-Length'] = str(len(state.response.body))