Header.js 708 B

1234567891011121314151617181920212223
  1. function transformKey(key) {
  2. return typeof key === "symbol" ? key : key.toLowerCase();
  3. }
  4. /**
  5. * HTTP 报头比较特殊,需要兼容不同的大小写的 key
  6. */
  7. export function createHeader() {
  8. const headers = Object.create(null);
  9. return new Proxy(headers, {
  10. set(target, key, value) {
  11. return Reflect.set(target, transformKey(key), value);
  12. },
  13. get(target, key) {
  14. return Reflect.get(target, transformKey(key));
  15. },
  16. has(target, key) {
  17. return Reflect.has(target, transformKey(key));
  18. },
  19. deleteProperty(target, key) {
  20. return Reflect.deleteProperty(target, transformKey(key));
  21. },
  22. });
  23. }