()
| 195 | } |
| 196 | |
| 197 | func Example_obj() { |
| 198 | receive := func(hdr transport.ObjHdr, objReader io.Reader, err error) error { |
| 199 | cos.Assert(err == nil) |
| 200 | object, err := io.ReadAll(objReader) |
| 201 | if err != nil { |
| 202 | panic(err) |
| 203 | } |
| 204 | if int64(len(object)) != hdr.ObjAttrs.Size { |
| 205 | panic(fmt.Sprintf("size %d != %d", len(object), hdr.ObjAttrs.Size)) |
| 206 | } |
| 207 | fmt.Printf("%s...\n", string(object[:16])) |
| 208 | return nil |
| 209 | } |
| 210 | ts := httptest.NewServer(objmux) |
| 211 | defer ts.Close() |
| 212 | trname := "dummy-obj" |
| 213 | err := transport.HandleObjStream(trname, receive) |
| 214 | if err != nil { |
| 215 | fmt.Println(err) |
| 216 | return |
| 217 | } |
| 218 | httpclient := transport.NewIntraDataClient() |
| 219 | stream := transport.NewObjStream(httpclient, ts.URL+transport.ObjURLPath(trname), cos.GenTie(), nil) |
| 220 | sendText(stream, lorem, duis) |
| 221 | sendText(stream, et, temporibus) |
| 222 | stream.Fin() |
| 223 | |
| 224 | // Output: |
| 225 | // Lorem ipsum dolo... |
| 226 | // Duis aute irure ... |
| 227 | // Et harum quidem ... |
| 228 | // Temporibus autem... |
| 229 | } |
| 230 | |
| 231 | // test random streaming |
| 232 | func Test_OneStream(t *testing.T) { |
nothing calls this directly
no test coverage detected