This commit is contained in:
gospider
2025-02-18 17:41:05 +08:00
parent fa2e44ae28
commit 252fbf4cda
4 changed files with 50 additions and 45 deletions

View File

@@ -125,10 +125,11 @@ func (obj *OrderMap) parseForm(ctx context.Context) (io.Reader, string, bool, er
pr, pw := io.Pipe()
writer := multipart.NewWriter(pw)
go func() {
context.AfterFunc(ctx, func() {
stop := context.AfterFunc(ctx, func() {
pr.CloseWithError(ctx.Err())
pw.CloseWithError(ctx.Err())
})
defer stop()
err := obj.formWriteMain(writer)
if err == nil {
err = io.EOF

View File

@@ -38,10 +38,11 @@ func newConn(ctx context.Context, con net.Conn, closeFunc func()) *conn {
c.r = bufio.NewReader(pr)
c.w = bufio.NewWriter(c)
go func() {
context.AfterFunc(ctx, func() {
stop := context.AfterFunc(ctx, func() {
pr.CloseWithError(ctx.Err())
pw.CloseWithError(ctx.Err())
})
defer stop()
_, err := io.Copy(pw, c.conn)
if c.err == nil {
c.CloseWithError(err)

29
go.mod
View File

@@ -3,17 +3,17 @@ module github.com/gospider007/requests
go 1.24.0
require (
github.com/gospider007/bar v0.0.0-20241205091858-06f3c7e16dd9
github.com/gospider007/bs4 v0.0.0-20250110063952-3322ee09a952
github.com/gospider007/gson v0.0.0-20250110063619-6fd4001287da
github.com/gospider007/gtls v0.0.0-20250107100054-2a14fa6fc9c5
github.com/gospider007/http2 v0.0.0-20250211075152-9b93ea5934a7
github.com/gospider007/http3 v0.0.0-20250211075910-8bad8da7d8cc
github.com/gospider007/ja3 v0.0.0-20250213002809-fed6ef545daf
github.com/gospider007/proxy v0.0.0-20250212051747-ecb05461e726
github.com/gospider007/re v0.0.0-20241216142712-efbef8d55ea2
github.com/gospider007/tools v0.0.0-20250208030917-26051a107d8c
github.com/gospider007/websocket v0.0.0-20250107091829-c78035a103b2
github.com/gospider007/bar v0.0.0-20250217074946-47896d8de2ba
github.com/gospider007/bs4 v0.0.0-20250217075024-ab8aec9c90d0
github.com/gospider007/gson v0.0.0-20250217075140-0a65c21185c4
github.com/gospider007/gtls v0.0.0-20250217075148-cad34209c0ae
github.com/gospider007/http2 v0.0.0-20250217100059-0dfc2d383448
github.com/gospider007/http3 v0.0.0-20250217075201-924e6c783810
github.com/gospider007/ja3 v0.0.0-20250217075217-36e4ffd863e8
github.com/gospider007/proxy v0.0.0-20250217075345-8b7075005569
github.com/gospider007/re v0.0.0-20250217075352-bcb79f285d6c
github.com/gospider007/tools v0.0.0-20250217075502-a830b402190c
github.com/gospider007/websocket v0.0.0-20250217075551-6bd98eaabb07
github.com/quic-go/quic-go v0.49.0
github.com/refraction-networking/uquic v0.0.6
github.com/refraction-networking/utls v1.6.7
@@ -38,9 +38,9 @@ require (
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
github.com/google/gopacket v1.1.19 // indirect
github.com/google/pprof v0.0.0-20250208200701-d0013a598941 // indirect
github.com/gospider007/blog v0.0.0-20241205091827-6bcaf48620d4 // indirect
github.com/gospider007/kinds v0.0.0-20240929092451-8f867acde255 // indirect
github.com/gospider007/net v0.0.0-20250207031315-05571927d356 // indirect
github.com/gospider007/blog v0.0.0-20250217075004-fbd89cbd4147 // indirect
github.com/gospider007/kinds v0.0.0-20250217075226-10f199f7215d // indirect
github.com/gospider007/net v0.0.0-20250217075332-457b643a0d40 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
@@ -79,5 +79,4 @@ require (
golang.org/x/sys v0.30.0 // indirect
golang.org/x/text v0.22.0 // indirect
golang.org/x/tools v0.30.0 // indirect
google.golang.org/protobuf v1.36.2 // indirect
)

60
go.sum
View File

@@ -18,6 +18,7 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/PuerkitoBio/goquery v1.10.2 h1:7fh2BdHcG6VFZsK7toXBT/Bh1z5Wmy8Q9MV9HqT2AM8=
github.com/PuerkitoBio/goquery v1.10.2/go.mod h1:0guWGjcLu9AYC7C1GHnpysHy056u9aEkUHwhdnePMCU=
github.com/STARRY-S/zip v0.2.1 h1:pWBd4tuSGm3wtpoqRZZ2EAwOmcHK6XFf7bU9qcJXyFg=
github.com/STARRY-S/zip v0.2.1/go.mod h1:xNvshLODWtC4EJ702g7cTYn13G53o1+X9BWnPFpcWV4=
github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7XdTA=
@@ -95,34 +96,34 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gospider007/bar v0.0.0-20241205091858-06f3c7e16dd9 h1:mKDRxvZNftY8msmyonqGLlTAbCUYTJNYbX5Ha0REwzs=
github.com/gospider007/bar v0.0.0-20241205091858-06f3c7e16dd9/go.mod h1:dZ50Fil3qVmYCGGR9hne3RwgZRfZj+NZQE7NaKBNdPI=
github.com/gospider007/blog v0.0.0-20241205091827-6bcaf48620d4 h1:MA0vcRGiy5JPlQYPU9wg7reG4dZkW3v5Q/DVtAUJ6yQ=
github.com/gospider007/blog v0.0.0-20241205091827-6bcaf48620d4/go.mod h1:y7eLYgD+hFH2v8qrlrO5KtFTGwYxQaQuWyGAuZh7QHU=
github.com/gospider007/bs4 v0.0.0-20250110063952-3322ee09a952 h1:X6YWrMf6SvzNitt7BF2lgAq7bQPgncPgiZ3LEy1oMuk=
github.com/gospider007/bs4 v0.0.0-20250110063952-3322ee09a952/go.mod h1:/BPKe5pYeziuPGasyMAC5C+Dos90sL4Akwer3gi5b3E=
github.com/gospider007/gson v0.0.0-20250110063619-6fd4001287da h1:54D7y2SYeIsUVHUc6jJuAovkcpkSUcLbPsVo98ZJgF4=
github.com/gospider007/gson v0.0.0-20250110063619-6fd4001287da/go.mod h1:4oRt+sgROKHOLdxw3DiK69VUsdhBS0RsPix88PqGCjM=
github.com/gospider007/gtls v0.0.0-20250107100054-2a14fa6fc9c5 h1:c0payCC+agt1c+SK66VYXcs8eFktGlxWhK+t6V/6PPc=
github.com/gospider007/gtls v0.0.0-20250107100054-2a14fa6fc9c5/go.mod h1:qIlB6X0WLv9QVqo/LLqkml0JDKSjeL3x4tI1QCINU94=
github.com/gospider007/http2 v0.0.0-20250211075152-9b93ea5934a7 h1:eEqGJ+D+WhsQyD0i1NOapkpSxhb2CS+S2JRnJGm9kn0=
github.com/gospider007/http2 v0.0.0-20250211075152-9b93ea5934a7/go.mod h1:tyoQk56/HeqWXUL5dXpmCWoH+jVIaxo3//HAYeMPWkM=
github.com/gospider007/http3 v0.0.0-20250211075910-8bad8da7d8cc h1:vZDb6z5iPkAnCkfS77cIiR8gbcWbL9yRD5HAiYovXFA=
github.com/gospider007/http3 v0.0.0-20250211075910-8bad8da7d8cc/go.mod h1:B/9ytNa5gyQwktT9klskrWVZliYgNXRpXQtZCu7XGVU=
github.com/gospider007/ja3 v0.0.0-20250213002809-fed6ef545daf h1:IwmovyoSdIKvyOf1kiDa9FWQ0oM8jZSLrHdLwoCCfkU=
github.com/gospider007/ja3 v0.0.0-20250213002809-fed6ef545daf/go.mod h1:UnXMh9FDg/5QKfAt/wCxxByQDmLh0AKQetkRYITDcGM=
github.com/gospider007/kinds v0.0.0-20240929092451-8f867acde255 h1:X+AM/mgmh/EfyQUjKZp1VFc9TSlrhkwS0eSYeo5fMs4=
github.com/gospider007/kinds v0.0.0-20240929092451-8f867acde255/go.mod h1:yZx7Zfp1I4P6CO3TcDyDY5SuXQYr0bZjzT9zG0XrJAI=
github.com/gospider007/net v0.0.0-20250207031315-05571927d356 h1:RRft8tp12L3VCrdwWWCFmhChTmQtvESs/o58zdOhnV8=
github.com/gospider007/net v0.0.0-20250207031315-05571927d356/go.mod h1:xsH1vN8Vo1+JsHC/voUXhX3tRWD93S9700t3ynQXET8=
github.com/gospider007/proxy v0.0.0-20250212051747-ecb05461e726 h1:x2y6r+D7mECj5/TZ9/ppr/YUoZ+oaa2AOnHu7f5Dpbc=
github.com/gospider007/proxy v0.0.0-20250212051747-ecb05461e726/go.mod h1:x2sBfbvWDjWzcsn/PRKzoqXt/JB1kJ6dJcnpFNrLRLo=
github.com/gospider007/re v0.0.0-20241216142712-efbef8d55ea2 h1:ixXFS1DqP0NnHna+b0JKaPqMRYRmahzUADZn7PawQq0=
github.com/gospider007/re v0.0.0-20241216142712-efbef8d55ea2/go.mod h1:kr9bUaC42FS019Ak23fSctbTRB2JpfPPg/pSVjQmsws=
github.com/gospider007/tools v0.0.0-20250208030917-26051a107d8c h1:5ea20FyPjhgvsfqo6RyC9fHzWYE73Un/Yypgh2mWTaU=
github.com/gospider007/tools v0.0.0-20250208030917-26051a107d8c/go.mod h1:3XiIGH1l8oxqe6bHzd0tutZi15fEFyMYXOYrub/whsg=
github.com/gospider007/websocket v0.0.0-20250107091829-c78035a103b2 h1:hp8IZHhmq4tAkJRFZ3QXRoRwwNyvAeYyqecV/JvFPYc=
github.com/gospider007/websocket v0.0.0-20250107091829-c78035a103b2/go.mod h1:0DHN5ImV48fYE0NkMKynEQLTo+CxMUMCqvIMUE8qUQI=
github.com/gospider007/bar v0.0.0-20250217074946-47896d8de2ba h1:8DK0d1nUTsMbOgFrIWMSBKp7obOAKgSLkswzVBX1RRI=
github.com/gospider007/bar v0.0.0-20250217074946-47896d8de2ba/go.mod h1:HGEEIVnysptCXwsdU4E82uQu0F4ObU/5+KWHIdJCUbY=
github.com/gospider007/blog v0.0.0-20250217075004-fbd89cbd4147 h1:2FDYAzIvrpbKZtVVouxsoRhdVBZ5aJpYkQ0QEwMYfwY=
github.com/gospider007/blog v0.0.0-20250217075004-fbd89cbd4147/go.mod h1:yDzKXJzaYENfMvleqwdo362NE+BXDhwtKXRUQUWHH+I=
github.com/gospider007/bs4 v0.0.0-20250217075024-ab8aec9c90d0 h1:vRYi7QW+wwDPaCfPdrP8f26NHgjJQlbzS8l6V88tciY=
github.com/gospider007/bs4 v0.0.0-20250217075024-ab8aec9c90d0/go.mod h1://JQSsEi/6zhhr/rYhT/lUsq7rtnqnWDv7dZ/gOLP9s=
github.com/gospider007/gson v0.0.0-20250217075140-0a65c21185c4 h1:uc5CTJHHYBghQ5hSRUNIRzlTFLwPDqubnrvhJX8cmVM=
github.com/gospider007/gson v0.0.0-20250217075140-0a65c21185c4/go.mod h1:NyX+cIZzkej8h8czc+Z0nlJz07XnZ34OvtqR6evPSVg=
github.com/gospider007/gtls v0.0.0-20250217075148-cad34209c0ae h1:w0FETfH2q/N1B8llpFC0+XZkxjNc99LoDSy1XW5NfT8=
github.com/gospider007/gtls v0.0.0-20250217075148-cad34209c0ae/go.mod h1:VoExB3KZrF8CwtvNfLWtLG5OcDWElgQ3dsjs/C+6f04=
github.com/gospider007/http2 v0.0.0-20250217100059-0dfc2d383448 h1:JzK6lJQdTwVLHF3ySdA+3M01wX2Ea99dxYu/ZEqI5tI=
github.com/gospider007/http2 v0.0.0-20250217100059-0dfc2d383448/go.mod h1:bhJXuoZByYkUwEaJiE9M3qypf3L491h69FciC46jpVE=
github.com/gospider007/http3 v0.0.0-20250217075201-924e6c783810 h1:bCzm4P3VwCJZy9KGS/r95rS/cG+6yDfDf+1wlQVVBAE=
github.com/gospider007/http3 v0.0.0-20250217075201-924e6c783810/go.mod h1:ReAYBHJHP7nW+4puITwr3CGXqePEweJnLApiBRP/dOw=
github.com/gospider007/ja3 v0.0.0-20250217075217-36e4ffd863e8 h1:9xYzyy+AiPa1EXTBkA43zLboWyhyg2ONwCV8rXt0YVk=
github.com/gospider007/ja3 v0.0.0-20250217075217-36e4ffd863e8/go.mod h1:T+kVW660hw4Z8mgXvDX/MQcZcA3sO3QzmnbagpeToe8=
github.com/gospider007/kinds v0.0.0-20250217075226-10f199f7215d h1:+Fih572EdNmYCK1L82MyWOj9tAwIgZ2JqepmasAclg8=
github.com/gospider007/kinds v0.0.0-20250217075226-10f199f7215d/go.mod h1:3u6J+nbdWhCNJGiQjq/hKSukn2k6ebjd98rd2+fzKNo=
github.com/gospider007/net v0.0.0-20250217075332-457b643a0d40 h1:1SudOZ1jIxUhaiBO46ipKcvBbE/iOZavD9vbJvZigF0=
github.com/gospider007/net v0.0.0-20250217075332-457b643a0d40/go.mod h1:8qe9ZLkK6B6IjYS/APva7Yma4FamcqSEaQJzbyPG1qo=
github.com/gospider007/proxy v0.0.0-20250217075345-8b7075005569 h1:7ns6tr10g2Vq41YM7JbAbgPNKFZEnPQJF53bngKsN9E=
github.com/gospider007/proxy v0.0.0-20250217075345-8b7075005569/go.mod h1:PdU/vA6CFY8L6mKe/J7DGD1zlvi4JbSq/6fjYZXe1p8=
github.com/gospider007/re v0.0.0-20250217075352-bcb79f285d6c h1:8/Cf+c2680tkWJ+ueZ9RLLK5R5R8nhE8pNBUPHjkvkM=
github.com/gospider007/re v0.0.0-20250217075352-bcb79f285d6c/go.mod h1:dd8aDIUG1vDPP5r+vHBtiUK0Zn6uk3SsWt1ZvmCCHLs=
github.com/gospider007/tools v0.0.0-20250217075502-a830b402190c h1:AEImUmU0EycMUfm/TN8fpNgoj5SDfUZJcnCTbibctWs=
github.com/gospider007/tools v0.0.0-20250217075502-a830b402190c/go.mod h1:zZEbtq805GRSHr0oa2hI4vRonTmVznAeYqWfvJG/DmQ=
github.com/gospider007/websocket v0.0.0-20250217075551-6bd98eaabb07 h1:V7QmQw1pxIvz6K6xlYTO76G6qGGfXz4rkkJvJ+px07Q=
github.com/gospider007/websocket v0.0.0-20250217075551-6bd98eaabb07/go.mod h1:H8zn1OGchu202uZXCbm240bdi33b/QNyylDwnjEMQFI=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -150,6 +151,7 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/libdns/libdns v0.2.3 h1:ba30K4ObwMGB/QTmqUxf3H4/GmUrCAIkMWejeGl12v8=
github.com/libdns/libdns v0.2.3/go.mod h1:4Bj9+5CQiNMVGf87wjX4CY3HQJypUHRuLvlsfsZqLWQ=
github.com/mholt/acmez/v3 v3.0.1 h1:4PcjKjaySlgXK857aTfDuRbmnM5gb3Ruz3tvoSJAUp8=
github.com/mholt/acmez/v3 v3.0.1/go.mod h1:L1wOU06KKvq7tswuMDwKdcHeKpFFgkppZy/y0DFxagQ=
github.com/mholt/archives v0.1.0 h1:FacgJyrjiuyomTuNA92X5GyRBRZjE43Y/lrzKIlF35Q=
@@ -257,6 +259,7 @@ golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20250215185904-eff6e970281f h1:oFMYAjX0867ZD2jcNiLBrI9BdpmEkvPyi5YrBGXbamg=
golang.org/x/exp v0.0.0-20250215185904-eff6e970281f/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.24.0 h1:AN7zRgVsbvmTfNyqIbbOraYL8mSwcKncEj8ofjgzcMQ=
@@ -445,6 +448,7 @@ google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU=
google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=