forked from asyncapi/spec
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gitter-streaming.yml
139 lines (134 loc) · 3.91 KB
/
gitter-streaming.yml
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
asyncapi: '1.2.0'
info:
title: Gitter Streaming API
version: '1.0.0'
servers:
- url: https://stream.gitter.im/v1/rooms/{roomId}/{resource}
scheme: https
schemeVersion: '1.1'
variables:
roomId:
description: Id of the Gitter room.
resource:
description: The resource to consume.
enum:
- chatMessages
- events
security:
- httpBearerToken: []
stream:
framing:
type: 'chunked'
delimiter: '\r\n'
read:
- $ref: '#/components/messages/chatMessage'
- $ref: '#/components/messages/heartbeat'
components:
securitySchemes:
httpBearerToken:
type: http
scheme: bearer
messages:
chatMessage:
summary: >-
A message represents an individual chat message sent to a room.
They are a sub-resource of a room.
payload:
type: object
properties:
id:
type: string
description: ID of the message.
text:
type: string
description: Original message in plain-text/markdown.
html:
type: string
description: HTML formatted message.
sent:
type: string
format: date-time
description: ISO formatted date of the message.
fromUser:
type: object
description: User that sent the message.
properties:
id:
type: string
description: Gitter User ID.
username:
type: string
description: Gitter/GitHub username.
displayName:
type: string
description: Gitter/GitHub user real name.
url:
type: string
description: Path to the user on Gitter.
avatarUrl:
type: string
format: uri
description: User avatar URI.
avatarUrlSmall:
type: string
format: uri
description: User avatar URI (small).
avatarUrlMedium:
type: string
format: uri
description: User avatar URI (medium).
v:
type: number
description: Version.
gv:
type: string
description: Stands for "Gravatar version" and is used for cache busting.
unread:
type: boolean
description: Boolean that indicates if the current user has read the message.
readBy:
type: number
description: Number of users that have read the message.
urls:
type: array
description: List of URLs present in the message.
items:
type: string
format: uri
mentions:
type: array
description: List of @Mentions in the message.
items:
type: object
properties:
screenName:
type: string
userId:
type: string
userIds:
type: array
items:
type: string
issues:
type: array
description: 'List of #Issues referenced in the message.'
items:
type: object
properties:
number:
type: string
meta:
type: array
description: Metadata. This is currently not used for anything.
items: {}
v:
type: number
description: Version.
gv:
type: string
description: Stands for "Gravatar version" and is used for cache busting.
heartbeat:
summary: Its purpose is to keep the connection alive.
payload:
type: string
enum: ["\r\n"]