Skip to content

Commit 5108abc

Browse files
authored
Merge pull request #4 from snabb/improvements
chore: add CI pipeline and clean up deprecated APIs
2 parents 0342798 + 77f8e66 commit 5108abc

6 files changed

Lines changed: 39 additions & 18 deletions

File tree

.github/workflows/test.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [master]
6+
pull_request:
7+
branches: [master]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
go-version: ["1.21", "1.22", "1.23"]
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Set up Go ${{ matrix.go-version }}
20+
uses: actions/setup-go@v5
21+
with:
22+
go-version: ${{ matrix.go-version }}
23+
24+
- name: Build
25+
run: go build ./...
26+
27+
- name: Test
28+
run: go test -race -v ./...
29+
30+
- name: Vet
31+
run: go vet ./...

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
httpreaderat
22
============
33

4-
[![GoDoc](https://godoc.org/github.com/snabb/httpreaderat?status.svg)](https://godoc.org/github.com/snabb/httpreaderat)
4+
[![Tests](https://github.com/snabb/httpreaderat/actions/workflows/test.yml/badge.svg)](https://github.com/snabb/httpreaderat/actions/workflows/test.yml)
5+
[![Go Reference](https://pkg.go.dev/badge/github.com/snabb/httpreaderat.svg)](https://pkg.go.dev/github.com/snabb/httpreaderat)
56

67
Go package httpreaderat implements io.ReaderAt that makes HTTP Range Requests.
78

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/snabb/httpreaderat
22

3-
go 1.18
3+
go 1.21
44

55
require github.com/stretchr/testify v1.10.0
66

httpreaderat.go

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -201,21 +201,11 @@ func (ra *HTTPReaderAt) readAt(p []byte, off int64, initialize bool) (int, error
201201
return n, err
202202
}
203203

204-
func cloneHeader(h http.Header) http.Header {
205-
h2 := make(http.Header, len(h))
206-
for k, vv := range h {
207-
vv2 := make([]string, len(vv))
208-
copy(vv2, vv)
209-
h2[k] = vv2
210-
}
211-
return h2
212-
}
213-
214204
func (ra *HTTPReaderAt) copyReq() *http.Request {
215205
out := *ra.req
216206
out.Body = nil
217207
out.ContentLength = 0
218-
out.Header = cloneHeader(ra.req.Header)
208+
out.Header = ra.req.Header.Clone()
219209

220210
return &out
221211
}

httpreaderat_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func (ra *readerAtFixture) TestRangeSupportInitial() {
6969
ra.NotNil(reader)
7070
}
7171

72-
func (ra *readerAtFixture) TestRangeSupportIntialEmptyResponse() {
72+
func (ra *readerAtFixture) TestRangeSupportInitialEmptyResponse() {
7373
ra.server = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
7474
rnge := r.Header.Get("Range")
7575
ra.Equal(rnge, "bytes=0-0")
@@ -83,7 +83,7 @@ func (ra *readerAtFixture) TestRangeSupportIntialEmptyResponse() {
8383
ra.Nil(reader)
8484
}
8585

86-
func (ra *readerAtFixture) TestRangeSupportIntialTooMuchResponse() {
86+
func (ra *readerAtFixture) TestRangeSupportInitialTooMuchResponse() {
8787
ra.server = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
8888
rnge := r.Header.Get("Range")
8989
ra.Equal(rnge, "bytes=0-0")
@@ -118,7 +118,7 @@ func (ra *readerAtFixture) TestFile() {
118118
ra.Equal(http.DetectContentType(content), "text/plain; charset=utf-8")
119119
}
120120

121-
func (ra *readerAtFixture) TestParralelFiles() {
121+
func (ra *readerAtFixture) TestParallelFiles() {
122122
ra.server = httptest.NewServer(http.FileServer(http.Dir("./fixtures")))
123123

124124
reader, err := ra.reader()

store.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"bytes"
55
"errors"
66
"io"
7-
"io/ioutil"
87
"os"
98
)
109

@@ -48,7 +47,7 @@ func (s *StoreFile) ReadFrom(r io.Reader) (n int64, err error) {
4847
if s.tmpfile != nil {
4948
s.Close()
5049
}
51-
s.tmpfile, err = ioutil.TempFile("", "gotmp")
50+
s.tmpfile, err = os.CreateTemp("", "gotmp")
5251
if err != nil {
5352
return 0, err
5453
}

0 commit comments

Comments
 (0)