router.lua 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. --
  2. -- Copyright 2019 The FATE Authors. All Rights Reserved.
  3. --
  4. -- Licensed under the Apache License, Version 2.0 (the "License");
  5. -- you may not use this file except in compliance with the License.
  6. -- You may obtain a copy of the License at
  7. --
  8. -- http://www.apache.org/licenses/LICENSE-2.0
  9. --
  10. -- Unless required by applicable law or agreed to in writing, software
  11. -- distributed under the License is distributed on an "AS IS" BASIS,
  12. -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. -- See the License for the specific language governing permissions and
  14. -- limitations under the License.
  15. --
  16. local _M = {
  17. _VERSION = '0.1'
  18. }
  19. local ngx = ngx
  20. local route_table = require "route_table"
  21. local function routing()
  22. local request_headers = ngx.req.get_headers()
  23. local dest_env = request_headers["dest-party-id"]
  24. if dest_env == nil then
  25. dest_env = request_headers["dest-env"]
  26. end
  27. ngx.ctx.dest_cluster = route_table.get_dest_server(dest_env, request_headers["service"])
  28. end
  29. routing()