支持Range/If-Range读取静态资源片段

This commit is contained in:
刘祥超
2021-01-10 22:35:34 +08:00
parent da4eef95f1
commit 4883fed093
4 changed files with 323 additions and 14 deletions

View File

@@ -0,0 +1,55 @@
package nodes
import (
"github.com/iwind/TeaGo/assert"
"testing"
)
func TestHTTPRequest_httpRequestParseContentRange(t *testing.T) {
a := assert.NewAssertion(t)
{
_, ok := httpRequestParseContentRange("")
a.IsFalse(ok)
}
{
_, ok := httpRequestParseContentRange("byte=")
a.IsFalse(ok)
}
{
_, ok := httpRequestParseContentRange("byte=")
a.IsFalse(ok)
}
{
set, ok := httpRequestParseContentRange("bytes=")
a.IsTrue(ok)
a.IsTrue(len(set) == 0)
}
{
_, ok := httpRequestParseContentRange("bytes=60-50")
a.IsFalse(ok)
}
{
set, ok := httpRequestParseContentRange("bytes=0-50")
a.IsTrue(ok)
a.IsTrue(len(set) > 0)
t.Log(set)
}
{
set, ok := httpRequestParseContentRange("bytes=0-")
a.IsTrue(ok)
a.IsTrue(len(set) > 0)
t.Log(set)
}
{
set, ok := httpRequestParseContentRange("bytes=-50")
a.IsTrue(ok)
a.IsTrue(len(set) > 0)
t.Log(set)
}
{
set, ok := httpRequestParseContentRange("bytes=0-50, 60-100")
a.IsTrue(ok)
a.IsTrue(len(set) > 0)
t.Log(set)
}
}