-
Notifications
You must be signed in to change notification settings - Fork 6
/
closecode.ts
54 lines (52 loc) · 1.93 KB
/
closecode.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
* Copyright (C) 2016-2022 Threema GmbH
*
* This software may be modified and distributed under the terms
* of the MIT license. See the `LICENSE.md` file for details.
*/
export class CloseCode {
// tslint:disable:variable-name
public static readonly ClosingNormal = 1000;
public static readonly GoingAway = 1001;
public static readonly NoSharedSubprotocol = 1002;
public static readonly PathFull = 3000;
public static readonly ProtocolError = 3001;
public static readonly InternalError = 3002;
public static readonly Handover = 3003;
public static readonly DroppedByInitiator = 3004;
public static readonly InitiatorCouldNotDecrypt = 3005;
public static readonly NoSharedTask = 3006;
public static readonly InvalidKey = 3007;
public static readonly Timeout = 3008;
// tslint:enable:variable-name
}
export function explainCloseCode(code: CloseCode): string {
switch (code) {
case CloseCode.ClosingNormal:
return 'Normal closing';
case CloseCode.GoingAway:
return 'The endpoint is going away';
case CloseCode.NoSharedSubprotocol:
return 'No shared subprotocol could be found';
case CloseCode.PathFull:
return 'No free responder byte';
case CloseCode.ProtocolError:
return 'Protocol error';
case CloseCode.InternalError:
return 'Internal error';
case CloseCode.Handover:
return 'Handover finished';
case CloseCode.DroppedByInitiator:
return 'Dropped by initiator';
case CloseCode.InitiatorCouldNotDecrypt:
return 'Initiator could not decrypt a message';
case CloseCode.NoSharedTask:
return 'No shared task was found';
case CloseCode.InvalidKey:
return 'Invalid key';
case CloseCode.Timeout:
return 'Timeout';
default:
return 'Unknown';
}
}