Files
waf-platform/EdgeNode/internal/js/request_fake_test.go
2026-02-04 20:27:13 +08:00

131 lines
2.1 KiB
Go

// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package js_test
import (
"github.com/iwind/TeaGo/maps"
"github.com/iwind/TeaGo/types"
"net/http"
"time"
)
type FakeRequest struct {
host string
remoteAddr string
header http.Header
uri string
}
func (this *FakeRequest) Id() string {
return types.String(time.Now().UnixMicro())
}
func (this *FakeRequest) Server() maps.Map {
return maps.Map{"id": 123}
}
func (this *FakeRequest) Node() maps.Map {
return maps.Map{"id": 456}
}
func (this *FakeRequest) URL() string {
return "https://example.com/hello?name=Lily"
}
func (this *FakeRequest) Path() string {
return "/hello"
}
func (this *FakeRequest) URI() string {
return this.uri
}
func (this *FakeRequest) SetURI(uri string) {
this.uri = uri
}
func (this *FakeRequest) Host() string {
return this.host
}
func (this *FakeRequest) RemoteAddr() string {
return this.remoteAddr
}
func (this *FakeRequest) RawRemoteAddr() string {
return "127.0.0.1:12345"
}
func (this *FakeRequest) RemotePort() int {
return 80
}
func (this *FakeRequest) Method() string {
return http.MethodGet
}
func (this *FakeRequest) ContentLength() int64 {
return 1024
}
func (this *FakeRequest) TransferEncoding() string {
return "gzip"
}
func (this *FakeRequest) Proto() string {
return "HTTP/1.2"
}
func (this *FakeRequest) ProtoMajor() int {
return 1
}
func (this *FakeRequest) ProtoMinor() int {
return 2
}
func (this *FakeRequest) Cookie(name string) string {
return "cookie"
}
func (this *FakeRequest) Header() http.Header {
return this.header
}
func (this *FakeRequest) SetHeader(name string, values []string) {
if this.header == nil {
this.header = http.Header{}
}
this.header[name] = values
}
func (this *FakeRequest) DeleteHeader(name string) {
if this.header == nil {
return
}
delete(this.header, name)
}
func (this *FakeRequest) SetAttr(name string, value string) {
}
func (this *FakeRequest) SetVar(name string, value string) {
}
func (this *FakeRequest) Format(s string) string {
return s
}
func (this *FakeRequest) Done() {
}
func (this *FakeRequest) Allow() {
}
func (this *FakeRequest) Close() {
}