(f filters.FilterContext)
| 554 | } |
| 555 | |
| 556 | func getResponseValue(f filters.FilterContext) func(*lua.LState) int { |
| 557 | var header *lua.LTable |
| 558 | return func(s *lua.LState) int { |
| 559 | key := s.ToString(-1) |
| 560 | var ret lua.LValue |
| 561 | switch key { |
| 562 | case "header": |
| 563 | if header == nil { |
| 564 | header = s.CreateTable(0, 2) |
| 565 | header.RawSetString("add", s.NewFunction(addResponseHeader(f))) |
| 566 | header.RawSetString("values", s.NewFunction(responseHeaderValues(f))) |
| 567 | |
| 568 | mt := s.CreateTable(0, 3) |
| 569 | mt.RawSetString("__index", s.NewFunction(getResponseHeader(f))) |
| 570 | mt.RawSetString("__newindex", s.NewFunction(setResponseHeader(f))) |
| 571 | mt.RawSetString("__call", s.NewFunction(iterateResponseHeader(f))) |
| 572 | s.SetMetatable(header, mt) |
| 573 | } |
| 574 | ret = header |
| 575 | case "status_code": |
| 576 | ret = lua.LNumber(f.Response().StatusCode) |
| 577 | default: |
| 578 | return 0 |
| 579 | } |
| 580 | s.Push(ret) |
| 581 | return 1 |
| 582 | } |
| 583 | } |
| 584 | |
| 585 | func setResponseValue(f filters.FilterContext) func(*lua.LState) int { |
| 586 | return func(s *lua.LState) int { |
no test coverage detected
searching dependent graphs…