feat: extension support (#78)

This commit is contained in:
Levi authored and GitHub committed 2023-10-16 09:47:31 +08:00
1 parent 82d316af83
commit c073fc0a67
118 files changed
+6971 -780

No files matched your search

+22 -17
View File
@@ -1,6 +1,7 @@
package test
import (
"context"
"encoding/json"
"fmt"
"io"
@@ -17,8 +18,10 @@ const (
Dir = "./"
BuildFile = Dir + BuildName
DownloadName = "download.data"
DownloadFile = Dir + DownloadName
DownloadName = "download.data"
DownloadRename = "download (1).data"
DownloadFile = Dir + DownloadName
DownloadRenameFile = Dir + DownloadRename
)
func StartTestFileServer() net.Listener {
@@ -140,6 +143,7 @@ func startTestServer(serverHandle func() http.Handler) net.Listener {
if err != nil {
panic(err)
}
defer file.Close()
// 随机生成一个文件
l := int64(8192)
buf := make([]byte, l)
@@ -160,28 +164,29 @@ func startTestServer(serverHandle func() http.Handler) net.Listener {
server.Handler = serverHandle()
go server.Serve(listener)
return &delFileListener{
File: file,
return &shutdownListener{
server: server,
Listener: listener,
}
}
type delFileListener struct {
*os.File
type shutdownListener struct {
server *http.Server
net.Listener
}
func (c *delFileListener) Close() error {
defer func() {
c.File.Close()
if err := ifExistAndRemove(c.File.Name()); err != nil {
fmt.Println(err)
}
if err := ifExistAndRemove(DownloadFile); err != nil {
fmt.Println(err)
}
}()
return c.Listener.Close()
func (c *shutdownListener) Close() error {
closeErr := c.server.Shutdown(context.Background())
if err := ifExistAndRemove(BuildFile); err != nil {
fmt.Println(err)
}
if err := ifExistAndRemove(DownloadFile); err != nil {
fmt.Println(err)
}
if err := ifExistAndRemove(DownloadRenameFile); err != nil {
fmt.Println(err)
}
return closeErr
}
func ifExistAndRemove(name string) error {