evt-event_store-http 0.0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/event_store/http/cluster/member_state.rb +28 -0
- data/lib/event_store/http/connect/defaults.rb +11 -0
- data/lib/event_store/http/connect/leader.rb +37 -0
- data/lib/event_store/http/connect.rb +69 -0
- data/lib/event_store/http/controls/cluster/current_members.rb +52 -0
- data/lib/event_store/http/controls/cluster/size.rb +13 -0
- data/lib/event_store/http/controls/event.rb +43 -0
- data/lib/event_store/http/controls/gossip/response/json.rb +91 -0
- data/lib/event_store/http/controls/gossip/response/member.rb +114 -0
- data/lib/event_store/http/controls/gossip/response.rb +17 -0
- data/lib/event_store/http/controls/hostname/cluster.rb +67 -0
- data/lib/event_store/http/controls/hostname/resolution.rb +61 -0
- data/lib/event_store/http/controls/hostname.rb +35 -0
- data/lib/event_store/http/controls/info/response/json.rb +25 -0
- data/lib/event_store/http/controls/info/response.rb +21 -0
- data/lib/event_store/http/controls/ip_address/cluster.rb +77 -0
- data/lib/event_store/http/controls/ip_address.rb +23 -0
- data/lib/event_store/http/controls/json.rb +27 -0
- data/lib/event_store/http/controls/media_types/atom/event/content.rb +47 -0
- data/lib/event_store/http/controls/media_types/atom/event/json.rb +52 -0
- data/lib/event_store/http/controls/media_types/atom/event/links.rb +28 -0
- data/lib/event_store/http/controls/media_types/atom/event.rb +46 -0
- data/lib/event_store/http/controls/media_types/atom/page/entries.rb +131 -0
- data/lib/event_store/http/controls/media_types/atom/page/json/backward.rb +115 -0
- data/lib/event_store/http/controls/media_types/atom/page/json/embed/body.rb +150 -0
- data/lib/event_store/http/controls/media_types/atom/page/json/embed/rich.rb +144 -0
- data/lib/event_store/http/controls/media_types/atom/page/json.rb +113 -0
- data/lib/event_store/http/controls/media_types/atom/page/links.rb +70 -0
- data/lib/event_store/http/controls/media_types/atom/page.rb +43 -0
- data/lib/event_store/http/controls/media_types/events/json.rb +25 -0
- data/lib/event_store/http/controls/media_types/events.rb +39 -0
- data/lib/event_store/http/controls/net_http/host_header.rb +41 -0
- data/lib/event_store/http/controls/net_http/request/post.rb +36 -0
- data/lib/event_store/http/controls/net_http/request.rb +13 -0
- data/lib/event_store/http/controls/net_http.rb +14 -0
- data/lib/event_store/http/controls/port.rb +29 -0
- data/lib/event_store/http/controls/read_event/output_schema.rb +43 -0
- data/lib/event_store/http/controls/read_stream/output_schema/optimized.rb +66 -0
- data/lib/event_store/http/controls/read_stream/output_schema.rb +50 -0
- data/lib/event_store/http/controls/session_type.rb +15 -0
- data/lib/event_store/http/controls/stream.rb +17 -0
- data/lib/event_store/http/controls/time.rb +7 -0
- data/lib/event_store/http/controls/uri/event.rb +24 -0
- data/lib/event_store/http/controls/uuid.rb +7 -0
- data/lib/event_store/http/controls/write.rb +22 -0
- data/lib/event_store/http/controls.rb +59 -0
- data/lib/event_store/http/gossip/response/member.rb +40 -0
- data/lib/event_store/http/gossip/response/transformer.rb +49 -0
- data/lib/event_store/http/gossip/response.rb +25 -0
- data/lib/event_store/http/gossip.rb +28 -0
- data/lib/event_store/http/info/response/transformer.rb +28 -0
- data/lib/event_store/http/info/response.rb +25 -0
- data/lib/event_store/http/info.rb +28 -0
- data/lib/event_store/http/json/deserialize.rb +25 -0
- data/lib/event_store/http/json/serialize.rb +20 -0
- data/lib/event_store/http/log.rb +20 -0
- data/lib/event_store/http/media_types/atom/event/transformer.rb +44 -0
- data/lib/event_store/http/media_types/atom/event.rb +28 -0
- data/lib/event_store/http/media_types/atom/links.rb +18 -0
- data/lib/event_store/http/media_types/atom/page/embed/body/transformer.rb +43 -0
- data/lib/event_store/http/media_types/atom/page/embed/none/transformer.rb +45 -0
- data/lib/event_store/http/media_types/atom/page/embed/rich/event.rb +33 -0
- data/lib/event_store/http/media_types/atom/page/embed/rich/transformer.rb +63 -0
- data/lib/event_store/http/media_types/atom/page/transformer.rb +11 -0
- data/lib/event_store/http/media_types/atom/page.rb +17 -0
- data/lib/event_store/http/media_types/atom.rb +11 -0
- data/lib/event_store/http/media_types/events/data.rb +46 -0
- data/lib/event_store/http/media_types/events.rb +11 -0
- data/lib/event_store/http/net_http/extensions.rb +34 -0
- data/lib/event_store/http/net_http/substitute/telemetry.rb +19 -0
- data/lib/event_store/http/net_http/substitute.rb +112 -0
- data/lib/event_store/http/net_http.rb +11 -0
- data/lib/event_store/http/read_event/log_text.rb +17 -0
- data/lib/event_store/http/read_event/substitute.rb +35 -0
- data/lib/event_store/http/read_event.rb +72 -0
- data/lib/event_store/http/read_stream/defaults.rb +31 -0
- data/lib/event_store/http/read_stream/log_text.rb +17 -0
- data/lib/event_store/http/read_stream/substitute.rb +90 -0
- data/lib/event_store/http/read_stream.rb +100 -0
- data/lib/event_store/http/request.rb +48 -0
- data/lib/event_store/http/retry/substitute.rb +44 -0
- data/lib/event_store/http/retry/telemetry.rb +15 -0
- data/lib/event_store/http/retry.rb +98 -0
- data/lib/event_store/http/session/any_member.rb +9 -0
- data/lib/event_store/http/session/defaults.rb +11 -0
- data/lib/event_store/http/session/factory.rb +74 -0
- data/lib/event_store/http/session/leader.rb +33 -0
- data/lib/event_store/http/session/log_text.rb +41 -0
- data/lib/event_store/http/session/read.rb +22 -0
- data/lib/event_store/http/session.rb +100 -0
- data/lib/event_store/http/settings/read.rb +29 -0
- data/lib/event_store/http/settings.rb +27 -0
- data/lib/event_store/http/write/log_text.rb +17 -0
- data/lib/event_store/http/write/substitute.rb +52 -0
- data/lib/event_store/http/write.rb +82 -0
- data/lib/event_store/http.rb +77 -0
- metadata +237 -0
@@ -0,0 +1,150 @@
|
|
1
|
+
module EventStore
|
2
|
+
module HTTP
|
3
|
+
module Controls
|
4
|
+
module MediaTypes
|
5
|
+
module Atom
|
6
|
+
module Page
|
7
|
+
module JSON
|
8
|
+
module Embed
|
9
|
+
module Body
|
10
|
+
def self.example
|
11
|
+
<<~JSON
|
12
|
+
{
|
13
|
+
"title": "Event stream 'testStream'",
|
14
|
+
"id": "http://127.0.0.1:2113/streams/testStream",
|
15
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
16
|
+
"streamId": "testStream",
|
17
|
+
"author": {
|
18
|
+
"name": "EventStore"
|
19
|
+
},
|
20
|
+
"headOfStream": true,
|
21
|
+
"links": [
|
22
|
+
{
|
23
|
+
"uri": "http://127.0.0.1:2113/streams/testStream",
|
24
|
+
"relation": "self"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/head/backward/20",
|
28
|
+
"relation": "first"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/0/forward/20",
|
32
|
+
"relation": "last"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/49/backward/20",
|
36
|
+
"relation": "next"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/70/forward/20",
|
40
|
+
"relation": "previous"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/metadata",
|
44
|
+
"relation": "metadata"
|
45
|
+
}
|
46
|
+
],
|
47
|
+
"entries": [
|
48
|
+
{
|
49
|
+
"eventId": "00000002-0000-4000-8000-000000000000",
|
50
|
+
"eventType": "SomeType",
|
51
|
+
"eventNumber": 2,
|
52
|
+
"data": "{\\n \\"someAttribute\\": \\"some-value-2\\"\\n}",
|
53
|
+
"metaData": "{\\n \\"someMetaAttribute\\": \\"some-meta-value-2\\"\\n}",
|
54
|
+
"streamId": "testStream",
|
55
|
+
"isJson": true,
|
56
|
+
"isMetaData": false,
|
57
|
+
"isLinkMetaData": false,
|
58
|
+
"positionEventNumber": 222,
|
59
|
+
"positionStreamId": "readStream",
|
60
|
+
"title": "2@testStream",
|
61
|
+
"id": "http://127.0.0.1:2113/streams/testStream/2",
|
62
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
63
|
+
"author": {
|
64
|
+
"name": "EventStore"
|
65
|
+
},
|
66
|
+
"summary": "SomeType",
|
67
|
+
"links": [
|
68
|
+
{
|
69
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/2",
|
70
|
+
"relation": "edit"
|
71
|
+
},
|
72
|
+
{
|
73
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/2",
|
74
|
+
"relation": "alternate"
|
75
|
+
}
|
76
|
+
]
|
77
|
+
},
|
78
|
+
{
|
79
|
+
"eventId": "00000001-0000-4000-8000-000000000000",
|
80
|
+
"eventType": "SomeType",
|
81
|
+
"eventNumber": 1,
|
82
|
+
"data": "{\\n \\"someAttribute\\": \\"some-value-1\\"\\n}",
|
83
|
+
"metaData": "{\\n \\"someMetaAttribute\\": \\"some-meta-value-1\\"\\n}",
|
84
|
+
"streamId": "testStream",
|
85
|
+
"isJson": true,
|
86
|
+
"isMetaData": false,
|
87
|
+
"isLinkMetaData": false,
|
88
|
+
"positionEventNumber": 111,
|
89
|
+
"positionStreamId": "readStream",
|
90
|
+
"title": "1@testStream",
|
91
|
+
"id": "http://127.0.0.1:2113/streams/testStream/1",
|
92
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
93
|
+
"author": {
|
94
|
+
"name": "EventStore"
|
95
|
+
},
|
96
|
+
"summary": "SomeType",
|
97
|
+
"links": [
|
98
|
+
{
|
99
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/1",
|
100
|
+
"relation": "edit"
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/1",
|
104
|
+
"relation": "alternate"
|
105
|
+
}
|
106
|
+
]
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"eventId": "00000000-0000-4000-8000-000000000000",
|
110
|
+
"eventType": "SomeType",
|
111
|
+
"eventNumber": 0,
|
112
|
+
"data": "{\\n \\"someAttribute\\": \\"some-value-0\\"\\n}",
|
113
|
+
"metaData": "{\\n \\"someMetaAttribute\\": \\"some-meta-value-0\\"\\n}",
|
114
|
+
"streamId": "testStream",
|
115
|
+
"isJson": true,
|
116
|
+
"isMetaData": false,
|
117
|
+
"isLinkMetaData": false,
|
118
|
+
"positionEventNumber": 0,
|
119
|
+
"positionStreamId": "readStream",
|
120
|
+
"title": "0@testStream",
|
121
|
+
"id": "http://127.0.0.1:2113/streams/testStream/0",
|
122
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
123
|
+
"author": {
|
124
|
+
"name": "EventStore"
|
125
|
+
},
|
126
|
+
"summary": "SomeType",
|
127
|
+
"links": [
|
128
|
+
{
|
129
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/0",
|
130
|
+
"relation": "edit"
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/0",
|
134
|
+
"relation": "alternate"
|
135
|
+
}
|
136
|
+
]
|
137
|
+
}
|
138
|
+
]
|
139
|
+
}
|
140
|
+
JSON
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
@@ -0,0 +1,144 @@
|
|
1
|
+
module EventStore
|
2
|
+
module HTTP
|
3
|
+
module Controls
|
4
|
+
module MediaTypes
|
5
|
+
module Atom
|
6
|
+
module Page
|
7
|
+
module JSON
|
8
|
+
module Embed
|
9
|
+
module Rich
|
10
|
+
def self.example
|
11
|
+
<<~JSON
|
12
|
+
{
|
13
|
+
"title": "Event stream 'testStream'",
|
14
|
+
"id": "http://127.0.0.1:2113/streams/testStream",
|
15
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
16
|
+
"streamId": "testStream",
|
17
|
+
"author": {
|
18
|
+
"name": "EventStore"
|
19
|
+
},
|
20
|
+
"headOfStream": true,
|
21
|
+
"links": [
|
22
|
+
{
|
23
|
+
"uri": "http://127.0.0.1:2113/streams/testStream",
|
24
|
+
"relation": "self"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/head/backward/20",
|
28
|
+
"relation": "first"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/0/forward/20",
|
32
|
+
"relation": "last"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/49/backward/20",
|
36
|
+
"relation": "next"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/70/forward/20",
|
40
|
+
"relation": "previous"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/metadata",
|
44
|
+
"relation": "metadata"
|
45
|
+
}
|
46
|
+
],
|
47
|
+
"entries": [
|
48
|
+
{
|
49
|
+
"eventId": "00000002-0000-4000-8000-000000000000",
|
50
|
+
"eventType": "SomeType",
|
51
|
+
"eventNumber": 2,
|
52
|
+
"streamId": "testStream",
|
53
|
+
"isJson": true,
|
54
|
+
"isMetaData": false,
|
55
|
+
"isLinkMetaData": false,
|
56
|
+
"positionEventNumber": 222,
|
57
|
+
"positionStreamId": "readStream",
|
58
|
+
"title": "2@testStream",
|
59
|
+
"id": "http://127.0.0.1:2113/streams/testStream/2",
|
60
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
61
|
+
"author": {
|
62
|
+
"name": "EventStore"
|
63
|
+
},
|
64
|
+
"summary": "SomeType",
|
65
|
+
"links": [
|
66
|
+
{
|
67
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/2",
|
68
|
+
"relation": "edit"
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/2",
|
72
|
+
"relation": "alternate"
|
73
|
+
}
|
74
|
+
]
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"eventId": "00000001-0000-4000-8000-000000000000",
|
78
|
+
"eventType": "SomeType",
|
79
|
+
"eventNumber": 1,
|
80
|
+
"streamId": "testStream",
|
81
|
+
"isJson": true,
|
82
|
+
"isMetaData": false,
|
83
|
+
"isLinkMetaData": false,
|
84
|
+
"positionEventNumber": 111,
|
85
|
+
"positionStreamId": "readStream",
|
86
|
+
"title": "1@testStream",
|
87
|
+
"id": "http://127.0.0.1:2113/streams/testStream/1",
|
88
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
89
|
+
"author": {
|
90
|
+
"name": "EventStore"
|
91
|
+
},
|
92
|
+
"summary": "SomeType",
|
93
|
+
"links": [
|
94
|
+
{
|
95
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/1",
|
96
|
+
"relation": "edit"
|
97
|
+
},
|
98
|
+
{
|
99
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/1",
|
100
|
+
"relation": "alternate"
|
101
|
+
}
|
102
|
+
]
|
103
|
+
},
|
104
|
+
{
|
105
|
+
"eventId": "00000000-0000-4000-8000-000000000000",
|
106
|
+
"eventType": "SomeType",
|
107
|
+
"eventNumber": 0,
|
108
|
+
"streamId": "testStream",
|
109
|
+
"isJson": true,
|
110
|
+
"isMetaData": false,
|
111
|
+
"isLinkMetaData": false,
|
112
|
+
"positionEventNumber": 0,
|
113
|
+
"positionStreamId": "readStream",
|
114
|
+
"title": "0@testStream",
|
115
|
+
"id": "http://127.0.0.1:2113/streams/testStream/0",
|
116
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
117
|
+
"author": {
|
118
|
+
"name": "EventStore"
|
119
|
+
},
|
120
|
+
"summary": "SomeType",
|
121
|
+
"links": [
|
122
|
+
{
|
123
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/0",
|
124
|
+
"relation": "edit"
|
125
|
+
},
|
126
|
+
{
|
127
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/0",
|
128
|
+
"relation": "alternate"
|
129
|
+
}
|
130
|
+
]
|
131
|
+
}
|
132
|
+
]
|
133
|
+
}
|
134
|
+
JSON
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
module EventStore
|
2
|
+
module HTTP
|
3
|
+
module Controls
|
4
|
+
module MediaTypes
|
5
|
+
module Atom
|
6
|
+
module Page
|
7
|
+
module JSON
|
8
|
+
def self.text
|
9
|
+
<<~JSON
|
10
|
+
{
|
11
|
+
"title": "Event stream 'testStream'",
|
12
|
+
"id": "http://127.0.0.1:2113/streams/testStream",
|
13
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
14
|
+
"streamId": "testStream",
|
15
|
+
"author": {
|
16
|
+
"name": "EventStore"
|
17
|
+
},
|
18
|
+
"headOfStream": true,
|
19
|
+
"links": [
|
20
|
+
{
|
21
|
+
"uri": "http://127.0.0.1:2113/streams/testStream",
|
22
|
+
"relation": "self"
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/head/backward/20",
|
26
|
+
"relation": "first"
|
27
|
+
},
|
28
|
+
{
|
29
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/0/forward/20",
|
30
|
+
"relation": "last"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/49/backward/20",
|
34
|
+
"relation": "next"
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/70/forward/20",
|
38
|
+
"relation": "previous"
|
39
|
+
},
|
40
|
+
{
|
41
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/metadata",
|
42
|
+
"relation": "metadata"
|
43
|
+
}
|
44
|
+
],
|
45
|
+
"entries": [
|
46
|
+
{
|
47
|
+
"title": "2@testStream",
|
48
|
+
"id": "http://127.0.0.1:2113/streams/testStream/2",
|
49
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
50
|
+
"author": {
|
51
|
+
"name": "EventStore"
|
52
|
+
},
|
53
|
+
"summary": "SomeType",
|
54
|
+
"links": [
|
55
|
+
{
|
56
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/2",
|
57
|
+
"relation": "edit"
|
58
|
+
},
|
59
|
+
{
|
60
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/2",
|
61
|
+
"relation": "alternate"
|
62
|
+
}
|
63
|
+
]
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"title": "1@testStream",
|
67
|
+
"id": "http://127.0.0.1:2113/streams/testStream/1",
|
68
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
69
|
+
"author": {
|
70
|
+
"name": "EventStore"
|
71
|
+
},
|
72
|
+
"summary": "SomeType",
|
73
|
+
"links": [
|
74
|
+
{
|
75
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/1",
|
76
|
+
"relation": "edit"
|
77
|
+
},
|
78
|
+
{
|
79
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/1",
|
80
|
+
"relation": "alternate"
|
81
|
+
}
|
82
|
+
]
|
83
|
+
},
|
84
|
+
{
|
85
|
+
"title": "0@testStream",
|
86
|
+
"id": "http://127.0.0.1:2113/streams/testStream/0",
|
87
|
+
"updated": "2000-01-01T00:00:00.000000Z",
|
88
|
+
"author": {
|
89
|
+
"name": "EventStore"
|
90
|
+
},
|
91
|
+
"summary": "SomeType",
|
92
|
+
"links": [
|
93
|
+
{
|
94
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/0",
|
95
|
+
"relation": "edit"
|
96
|
+
},
|
97
|
+
{
|
98
|
+
"uri": "http://127.0.0.1:2113/streams/testStream/0",
|
99
|
+
"relation": "alternate"
|
100
|
+
}
|
101
|
+
]
|
102
|
+
}
|
103
|
+
]
|
104
|
+
}
|
105
|
+
JSON
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module EventStore
|
2
|
+
module HTTP
|
3
|
+
module Controls
|
4
|
+
module MediaTypes
|
5
|
+
module Atom
|
6
|
+
module Page
|
7
|
+
module Links
|
8
|
+
def self.example(backward: nil)
|
9
|
+
hash = {
|
10
|
+
:self => self.self,
|
11
|
+
:first => first,
|
12
|
+
:last => last,
|
13
|
+
:metadata => metadata
|
14
|
+
}
|
15
|
+
|
16
|
+
if backward
|
17
|
+
hash.merge!({
|
18
|
+
:previous => Backward.previous,
|
19
|
+
:next => Backward.next,
|
20
|
+
})
|
21
|
+
else
|
22
|
+
hash.merge!({
|
23
|
+
:previous => self.previous,
|
24
|
+
:next => self.next,
|
25
|
+
})
|
26
|
+
end
|
27
|
+
|
28
|
+
hash
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.self
|
32
|
+
"http://127.0.0.1:2113/streams/testStream"
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.first
|
36
|
+
"http://127.0.0.1:2113/streams/testStream/head/backward/20"
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.last
|
40
|
+
"http://127.0.0.1:2113/streams/testStream/0/forward/20"
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.next
|
44
|
+
"http://127.0.0.1:2113/streams/testStream/49/backward/20"
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.previous
|
48
|
+
"http://127.0.0.1:2113/streams/testStream/70/forward/20"
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.metadata
|
52
|
+
"http://127.0.0.1:2113/streams/testStream/metadata"
|
53
|
+
end
|
54
|
+
|
55
|
+
module Backward
|
56
|
+
def self.next
|
57
|
+
"http://127.0.0.1:2113/streams/testStream/30/backward/20"
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.previous
|
61
|
+
"http://127.0.0.1:2113/streams/testStream/51/forward/20"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module EventStore
|
2
|
+
module HTTP
|
3
|
+
module Controls
|
4
|
+
module MediaTypes
|
5
|
+
module Atom
|
6
|
+
module Page
|
7
|
+
def self.example(embed: nil, backward: nil)
|
8
|
+
page = EventStore::HTTP::MediaTypes::Atom::Page.new
|
9
|
+
page.id = id
|
10
|
+
page.updated = updated
|
11
|
+
page.stream_id = stream_id
|
12
|
+
page.links = Links.example backward: backward
|
13
|
+
|
14
|
+
Entries.count.times do |index|
|
15
|
+
entry = Entries.example index, embed: embed
|
16
|
+
|
17
|
+
page.entries << entry
|
18
|
+
end
|
19
|
+
|
20
|
+
page
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.stream
|
24
|
+
Stream.example random: false
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.id
|
28
|
+
"http://#{Controls::IPAddress.example}:#{Port.example}/streams/#{stream}"
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.updated
|
32
|
+
Controls::Time::Raw.example.iso8601 6
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.stream_id
|
36
|
+
stream
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module EventStore
|
2
|
+
module HTTP
|
3
|
+
module Controls
|
4
|
+
module MediaTypes
|
5
|
+
module Events
|
6
|
+
module JSON
|
7
|
+
def self.text
|
8
|
+
<<~JSON.chomp
|
9
|
+
[
|
10
|
+
{
|
11
|
+
"eventId": "#{UUID.example}",
|
12
|
+
"eventType": "#{Event::Type.example}",
|
13
|
+
"data": {
|
14
|
+
"someAttribute": "some-value-0"
|
15
|
+
}
|
16
|
+
}
|
17
|
+
]
|
18
|
+
JSON
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module EventStore
|
2
|
+
module HTTP
|
3
|
+
module Controls
|
4
|
+
module MediaTypes
|
5
|
+
module Events
|
6
|
+
def self.example(batch_size: nil, metadata: nil, random: nil)
|
7
|
+
batch_size ||= 1
|
8
|
+
metadata = "some-metadata" if metadata == true
|
9
|
+
|
10
|
+
data = EventStore::HTTP::MediaTypes::Events::Data.new
|
11
|
+
|
12
|
+
(0...batch_size).each do |i|
|
13
|
+
if random
|
14
|
+
event_id = Identifier::UUID::Random.get
|
15
|
+
else
|
16
|
+
event_id = UUID.example i.next
|
17
|
+
end
|
18
|
+
|
19
|
+
type = Event::Type.example
|
20
|
+
event_data = Event::Data.example i
|
21
|
+
|
22
|
+
metadata = Event::Metadata.example i if metadata
|
23
|
+
|
24
|
+
event = EventStore::HTTP::MediaTypes::Events::Data::Event.new
|
25
|
+
event.id = event_id
|
26
|
+
event.type = type
|
27
|
+
event.data = event_data
|
28
|
+
event.metadata = metadata
|
29
|
+
|
30
|
+
data.events << event
|
31
|
+
end
|
32
|
+
|
33
|
+
data
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module EventStore
|
2
|
+
module HTTP
|
3
|
+
module Controls
|
4
|
+
module NetHTTP
|
5
|
+
module HostHeader
|
6
|
+
def self.example(address=nil)
|
7
|
+
return IPAddress.example if address.nil?
|
8
|
+
|
9
|
+
port = Port.example
|
10
|
+
|
11
|
+
"#{address}:#{port}"
|
12
|
+
end
|
13
|
+
|
14
|
+
module Other
|
15
|
+
def self.example
|
16
|
+
address = Controls::Hostname.example
|
17
|
+
|
18
|
+
HostHeader.example address
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
module Hostname
|
23
|
+
def self.example
|
24
|
+
address = Controls::Hostname.example
|
25
|
+
|
26
|
+
HostHeader.example address
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
module IPAddress
|
31
|
+
def self.example
|
32
|
+
address = Controls::IPAddress.example
|
33
|
+
|
34
|
+
HostHeader.example address
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module EventStore
|
2
|
+
module HTTP
|
3
|
+
module Controls
|
4
|
+
module NetHTTP
|
5
|
+
module Request
|
6
|
+
module Post
|
7
|
+
def self.example
|
8
|
+
stream_name = "testStream-#{SecureRandom.hex 7}"
|
9
|
+
|
10
|
+
request = Net::HTTP::Post.new "/streams/#{stream_name}"
|
11
|
+
request.body = text
|
12
|
+
request['es-eventid'] = Identifier::UUID::Random.get
|
13
|
+
request['es-eventtype'] = type
|
14
|
+
request['content-type'] = 'application/json'
|
15
|
+
request
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.type
|
19
|
+
'SomeEvent'
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.data
|
23
|
+
{
|
24
|
+
:attribute => SecureRandom.hex(7)
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.text
|
29
|
+
::JSON.generate data
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|