111
All checks were successful
Build Multi-Platform Binaries / build-frontend (push) Successful in 32s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 1m52s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 1m54s
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Successful in 1m18s
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Successful in 1m45s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Successful in 1m3s
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Successful in 1m28s
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Successful in 1m41s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Successful in 1m51s
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Successful in 1m11s
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Successful in 1m40s
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Successful in 1m9s
All checks were successful
Build Multi-Platform Binaries / build-frontend (push) Successful in 32s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 1m52s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 1m54s
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Successful in 1m18s
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Successful in 1m45s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Successful in 1m3s
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Successful in 1m28s
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Successful in 1m41s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Successful in 1m51s
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Successful in 1m11s
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Successful in 1m40s
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Successful in 1m9s
This commit is contained in:
@@ -401,13 +401,20 @@ func (p *JSPlugin) httpServe(conn net.Conn, handler goja.Callable) {
|
||||
// Use bufio to read the request properly
|
||||
reader := bufio.NewReader(conn)
|
||||
|
||||
for {
|
||||
// 1. Read Request Line
|
||||
line, err := reader.ReadString('\n')
|
||||
if err != nil {
|
||||
if err != io.EOF {
|
||||
fmt.Printf("[JS:%s] httpServe read error: %v\n", p.name, err)
|
||||
}
|
||||
return
|
||||
}
|
||||
line = strings.TrimSpace(line)
|
||||
if line == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
parts := strings.Split(line, " ")
|
||||
if len(parts) < 2 {
|
||||
fmt.Printf("[JS:%s] Invalid request line: %s\n", p.name, line)
|
||||
@@ -460,14 +467,14 @@ func (p *JSPlugin) httpServe(conn net.Conn, handler goja.Callable) {
|
||||
result, err := handler(goja.Undefined(), p.vm.ToValue(req))
|
||||
if err != nil {
|
||||
fmt.Printf("[JS:%s] HTTP handler error: %v\n", p.name, err)
|
||||
conn.Write([]byte("HTTP/1.1 500 Internal Server Error\r\n\r\n"))
|
||||
conn.Write([]byte("HTTP/1.1 500 Internal Server Error\r\nConnection: close\r\n\r\n"))
|
||||
return
|
||||
}
|
||||
|
||||
// 将结果转换为 map
|
||||
if result == nil || goja.IsUndefined(result) || goja.IsNull(result) {
|
||||
conn.Write([]byte("HTTP/1.1 200 OK\r\n\r\n"))
|
||||
return
|
||||
conn.Write([]byte("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"))
|
||||
continue
|
||||
}
|
||||
|
||||
resp := make(map[string]interface{})
|
||||
@@ -479,6 +486,7 @@ func (p *JSPlugin) httpServe(conn net.Conn, handler goja.Callable) {
|
||||
|
||||
writeHTTPResponse(conn, resp)
|
||||
}
|
||||
}
|
||||
|
||||
func (p *JSPlugin) httpJSON(data interface{}) string {
|
||||
b, _ := json.Marshal(data)
|
||||
|
||||
Reference in New Issue
Block a user