mirror of
https://github.com/XTLS/Xray-core.git
synced 2025-04-29 16:58:34 +00:00
v1.0.0
This commit is contained in:
parent
47d23e9972
commit
c7f7c08ead
711 changed files with 82154 additions and 2 deletions
40
testing/servers/http/http.go
Normal file
40
testing/servers/http/http.go
Normal file
|
@ -0,0 +1,40 @@
|
|||
package tcp
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/xtls/xray-core/v1/common/net"
|
||||
)
|
||||
|
||||
type Server struct {
|
||||
Port net.Port
|
||||
PathHandler map[string]http.HandlerFunc
|
||||
server *http.Server
|
||||
}
|
||||
|
||||
func (s *Server) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
|
||||
if req.URL.Path == "/" {
|
||||
resp.Header().Set("Content-Type", "text/plain; charset=utf-8")
|
||||
resp.WriteHeader(http.StatusOK)
|
||||
resp.Write([]byte("Home"))
|
||||
return
|
||||
}
|
||||
|
||||
handler, found := s.PathHandler[req.URL.Path]
|
||||
if found {
|
||||
handler(resp, req)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) Start() (net.Destination, error) {
|
||||
s.server = &http.Server{
|
||||
Addr: "127.0.0.1:" + s.Port.String(),
|
||||
Handler: s,
|
||||
}
|
||||
go s.server.ListenAndServe()
|
||||
return net.TCPDestination(net.LocalHostIP, s.Port), nil
|
||||
}
|
||||
|
||||
func (s *Server) Close() error {
|
||||
return s.server.Close()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue