MCPcopy Create free account
hub / github.com/isomorphic-git/isomorphic-git / parseUploadPackRequest

Function parseUploadPackRequest

src/wire/parseUploadPackRequest.js:3–58  ·  view source on GitHub ↗
(stream)

Source from the content-addressed store, hash-verified

1import { GitPktLine } from '../models/GitPktLine.js'
2
3export async function parseUploadPackRequest(stream) {
4 const read = GitPktLine.streamReader(stream)
5 let done = false
6 let capabilities = null
7 const wants = []
8 const haves = []
9 const shallows = []
10 let depth
11 let since
12 const exclude = []
13 let relative = false
14 while (!done) {
15 const line = await read()
16 if (line === true) break
17 if (line === null) continue
18 const [key, value, ...rest] = line.toString('utf8').trim().split(' ')
19 if (!capabilities) capabilities = rest
20 switch (key) {
21 case 'want':
22 wants.push(value)
23 break
24 case 'have':
25 haves.push(value)
26 break
27 case 'shallow':
28 shallows.push(value)
29 break
30 case 'deepen':
31 depth = parseInt(value)
32 break
33 case 'deepen-since':
34 since = parseInt(value)
35 break
36 case 'deepen-not':
37 exclude.push(value)
38 break
39 case 'deepen-relative':
40 relative = true
41 break
42 case 'done':
43 done = true
44 break
45 }
46 }
47 return {
48 capabilities,
49 wants,
50 haves,
51 shallows,
52 depth,
53 since,
54 exclude,
55 relative,
56 done,
57 }
58}

Callers 2

test-wire.jsFile · 0.85

Calls 2

streamReaderMethod · 0.80
toStringMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…