api property

Map<String, Map<String, Object? Function(dynamic)>> api
final

Implementation

static final Map<String, Map<String, Object? Function(dynamic)>> api = {
  'GET': {
    '/path/to/auth/error': (var req) => {
          'errcode': 'M_FORBIDDEN',
          'error': 'Blabla',
        },
    '/media/v3/preview_url?url=https%3A%2F%2Fsdn.org&ts=10': (var req) => {
          'og:image': 'mxc://example.com/ascERGshawAWawugaAcauga',
          'sdn:image:size': 102400
        },
    '/media/v3/config': (var req) => {'m.upload.size': 50000000},
    '/.well-known/sdn/client': (var req) => {
          'm.node': {
            'base_url': 'https://fakeserver.notexisting',
          },
          'm.identity_server': {
            'base_url': 'https://identity.fakeserver.notexisting'
          },
          'org.example.custom.property': {
            'app_url': 'https://custom.app.fakeserver.notexisting'
          }
        },
    '/client/v3/user/%40alice%3Aexample.com/rooms/!localpart%3Aexample.com/tags':
        (var req) => {
              'tags': {
                'm.favourite': {'order': 0.1},
                'u.Work': {'order': 0.7},
                'u.Customers': <String, Object?>{},
              }
            },
    '/client/v3/events?from=1234&timeout=10&room_id=%211234': (var req) => {
          'start': 's3456_9_0',
          'end': 's3457_9_0',
          'chunk': [
            {
              'content': {
                'body': 'This is an example text message',
                'msgtype': 'm.text',
                'format': 'org.sdn.custom.html',
                'formatted_body': '<b>This is an example text message</b>'
              },
              'type': 'm.room.message',
              'event_id': '\$143273582443PhrSn:example.org',
              'room_id': '!somewhere:over.the.rainbow',
              'sender': '@example:example.org',
              'origin_server_ts': 1432735824653,
              'unsigned': {'age': 1234}
            }
          ]
        },
    '/client/v3/thirdparty/location?alias=1234': (var req) => [
          {
            'alias': '#freenode_#sdn:sdn.org',
            'protocol': 'irc',
            'fields': {'network': 'freenode', 'channel': '#sdn'}
          }
        ],
    '/client/v3/thirdparty/location/irc': (var req) => [
          {
            'alias': '#freenode_#sdn:sdn.org',
            'protocol': 'irc',
            'fields': {'network': 'freenode', 'channel': '#sdn'}
          }
        ],
    '/client/v3/thirdparty/user/irc': (var req) => [
          {
            'userid': '@_gitter_jim:sdn.org',
            'protocol': 'gitter',
            'fields': {'user': 'jim'}
          }
        ],
    '/client/v3/thirdparty/user?userid=1234': (var req) => [
          {
            'userid': '@_gitter_jim:sdn.org',
            'protocol': 'gitter',
            'fields': {'user': 'jim'}
          }
        ],
    '/client/v3/thirdparty/protocol/irc': (var req) => {
          'user_fields': ['network', 'nickname'],
          'location_fields': ['network', 'channel'],
          'icon': 'mxc://example.org/aBcDeFgH',
          'field_types': {
            'network': {
              'regexp': '([a-z0-9]+\\.)*[a-z0-9]+',
              'placeholder': 'irc.example.org'
            },
            'nickname': {'regexp': '[^\\s#]+', 'placeholder': 'username'},
            'channel': {'regexp': '#[^\\s]+', 'placeholder': '#foobar'}
          },
          'instances': [
            {
              'desc': 'Freenode',
              'icon': 'mxc://example.org/JkLmNoPq',
              'fields': {'network': 'freenode'},
              'network_id': 'freenode'
            }
          ]
        },
    '/client/v3/thirdparty/protocols': (var req) => {
          'irc': {
            'user_fields': ['network', 'nickname'],
            'location_fields': ['network', 'channel'],
            'icon': 'mxc://example.org/aBcDeFgH',
            'field_types': {
              'network': {
                'regexp': '([a-z0-9]+\\.)*[a-z0-9]+',
                'placeholder': 'irc.example.org'
              },
              'nickname': {'regexp': '[^\\s]+', 'placeholder': 'username'},
              'channel': {'regexp': '#[^\\s]+', 'placeholder': '#foobar'}
            },
            'instances': [
              {
                'network_id': 'freenode',
                'desc': 'Freenode',
                'icon': 'mxc://example.org/JkLmNoPq',
                'fields': {'network': 'freenode.net'}
              }
            ]
          },
          'gitter': {
            'user_fields': ['username'],
            'location_fields': ['room'],
            'icon': 'mxc://example.org/aBcDeFgH',
            'field_types': {
              'username': {'regexp': '@[^\\s]+', 'placeholder': '@username'},
              'room': {
                'regexp': '[^\\s]+\\/[^\\s]+',
                'placeholder': 'sdn-org/sdn-doc'
              }
            },
            'instances': [
              {
                'network_id': 'gitter',
                'desc': 'Gitter',
                'icon': 'mxc://example.org/zXyWvUt',
                'fields': <String, Object?>{}
              }
            ]
          }
        },
    '/client/v3/account/whoami': (var req) =>
        {'user_id': 'alice@example.com'},
    '/client/v3/capabilities': (var req) => {
          'capabilities': {
            'm.change_password': {'enabled': false},
            'm.room_versions': {
              'default': '1',
              'available': {
                '1': 'stable',
                '2': 'stable',
                '3': 'unstable',
                'test-version': 'unstable'
              }
            },
            'com.example.custom.ratelimit': {'max_requests_per_hour': 600}
          }
        },
    '/client/v3/rooms/1234/context/1234?limit=10&filter=%7B%7D': (var req) =>
        {
          'end': 't29-57_2_0_2',
          'events_after': [
            {
              'content': {
                'body': 'This is an example text message',
                'msgtype': 'm.text',
                'format': 'org.sdn.custom.html',
                'formatted_body': '<b>This is an example text message</b>'
              },
              'type': 'm.room.message',
              'event_id': '\$143273582443PhrSn:example.org',
              'room_id': '!636q39766251:example.com',
              'sender': '@example:example.org',
              'origin_server_ts': 1432735824653,
              'unsigned': {'age': 1234}
            }
          ],
          'event': {
            'content': {
              'body': 'filename.jpg',
              'info': {
                'h': 398,
                'w': 394,
                'mimetype': 'image/jpeg',
                'size': 31037
              },
              'url': 'mxc://example.org/JWEIFJgwEIhweiWJE',
              'msgtype': 'm.image'
            },
            'type': 'm.room.message',
            'event_id': '\$f3h4d129462ha:example.com',
            'room_id': '!636q39766251:example.com',
            'sender': '@example:example.org',
            'origin_server_ts': 1432735824653,
            'unsigned': {'age': 1234}
          },
          'events_before': [
            {
              'content': {
                'body': 'something-important.doc',
                'filename': 'something-important.doc',
                'info': {'mimetype': 'application/msword', 'size': 46144},
                'msgtype': 'm.file',
                'url': 'mxc://example.org/FHyPlCeYUSFFxlgbQYZmoEoe'
              },
              'type': 'm.room.message',
              'event_id': '\$143273582443PhrSn:example.org',
              'room_id': '!636q39766251:example.com',
              'sender': '@example:example.org',
              'origin_server_ts': 1432735824653,
              'unsigned': {'age': 1234}
            }
          ],
          'start': 't27-54_2_0_2',
          'state': [
            {
              'content': {
                'creator': '@example:example.org',
                'room_version': '1',
                'm.federate': true,
                'predecessor': {
                  'event_id': '\$something:example.org',
                  'room_id': '!oldroom:example.org'
                }
              },
              'type': 'm.room.create',
              'event_id': '\$143273582443PhrSn:example.org',
              'room_id': '!636q39766251:example.com',
              'sender': '@example:example.org',
              'origin_server_ts': 1432735824653,
              'unsigned': {'age': 1234},
              'state_key': ''
            },
            {
              'content': {
                'membership': 'join',
                'avatar_url': 'mxc://example.org/SEsfnsuifSDFSSEF',
                'displayname': 'Alice Margatroid'
              },
              'type': 'm.room.member',
              'event_id': '\$143273582443PhrSn:example.org',
              'room_id': '!636q39766251:example.com',
              'sender': '@example:example.org',
              'origin_server_ts': 1432735824653,
              'unsigned': {'age': 1234},
              'state_key': '@alice:example.org'
            }
          ]
        },
    '/client/v3/admin/whois/%40alice%3Aexample.com': (var req) => {
          'user_id': '@peter:rabbit.rocks',
          'devices': {
            'teapot': {
              'sessions': [
                {
                  'connections': [
                    {
                      'ip': '127.0.0.1',
                      'last_seen': 1411996332123,
                      'user_agent': 'curl/7.31.0-DEV'
                    },
                    {
                      'ip': '10.0.0.2',
                      'last_seen': 1411996332123,
                      'user_agent':
                          'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36'
                    }
                  ]
                }
              ]
            }
          }
        },
    '/client/v3/user/%40alice%3Aexample.com/account_data/test.account.data':
        (var req) => {'foo': 'bar'},
    '/client/v3/user/%40alice%3Aexample.com/rooms/1234/account_data/test.account.data':
        (var req) => {'foo': 'bar'},
    '/client/v3/directory/room/%23testalias%3Aexample.com': (var reqI) => {
          'room_id': '!abnjk1jdasj98:capuchins.com',
          'servers': ['capuchins.com', 'sdn.org', 'another.com']
        },
    '/client/v3/account/3pid': (var req) => {
          'threepids': [
            {
              'medium': 'email',
              'address': 'monkey@banana.island',
              'validated_at': 1535176800000,
              'added_at': 1535336848756
            }
          ]
        },
    '/client/v3/devices': (var req) => {
          'devices': [
            {
              'device_id': 'QBUAZIFURK',
              'display_name': 'android',
              'last_seen_ip': '1.2.3.4',
              'last_seen_ts': 1474491775024
            }
          ]
        },
    '/client/v3/notifications?from=1234&limit=10&only=1234': (var req) => {
          'next_token': 'abcdef',
          'notifications': [
            {
              'actions': ['notify'],
              'profile_tag': 'hcbvkzxhcvb',
              'read': true,
              'room_id': '!abcdefg:example.com',
              'ts': 1475508881945,
              'event': {
                'content': {
                  'body': 'This is an example text message',
                  'msgtype': 'm.text',
                  'format': 'org.sdn.custom.html',
                  'formatted_body': '<b>This is an example text message</b>'
                },
                'type': 'm.room.message',
                'event_id': '\$143273582443PhrSn:example.org',
                'room_id': '!jEsUZKDJdhlrceRyVU:example.org',
                'sender': '@example:example.org',
                'origin_server_ts': 1432735824653,
                'unsigned': {'age': 1234}
              }
            }
          ]
        },
    '/client/v3/devices/QBUAZIFURK': (var req) => {
          'device_id': 'QBUAZIFURK',
          'display_name': 'android',
          'last_seen_ip': '1.2.3.4',
          'last_seen_ts': 1474491775024
        },
    '/client/v3/profile/%40alice%3Aexample.com/displayname': (var reqI) =>
        {'displayname': 'Alice M'},
    '/client/v3/profile/%40alice%3Aexample.com/avatar_url': (var reqI) =>
        {'avatar_url': 'mxc://test'},
    '/client/v3/profile/%40alice%3Aexample.com': (var reqI) => {
          'avatar_url': 'mxc://test',
          'displayname': 'Alice M',
        },
    '/client/v3/voip/turnServer': (var req) => {
          'username': '1443779631:@user:example.com',
          'password': 'JlKfBy1QwLrO20385QyAtEyIv0=',
          'uris': [
            'turn:turn.example.com:3478?transport=udp',
            'turn:10.20.30.40:3478?transport=tcp',
            'turns:10.20.30.40:443?transport=tcp'
          ],
          'ttl': 86400
        },
    '/client/v3/presence/${Uri.encodeComponent('@alice:example.com')}/status':
        (var req) => {
              'presence': 'unavailable',
              'last_active_ago': 420845,
              'status_msg': 'test',
              'currently_active': false
            },
    '/client/v3/keys/changes?from=1234&to=1234': (var req) => {
          'changed': ['@alice:example.com', '@bob:example.org'],
          'left': ['@clara:example.com', '@doug:example.org']
        },
    '/client/v3/pushers': (var req) => {
          'pushers': [
            {
              'pushkey': 'Xp/MzCt8/9DcSNE9cuiaoT5Ac55job3TdLSSmtmYl4A=',
              'kind': 'http',
              'app_id': 'face.mcapp.appy.prod',
              'app_display_name': 'Appy McAppface',
              'device_display_name': 'Alices Phone',
              'profile_tag': 'xyz',
              'lang': 'en-US',
              'data': {
                'url': 'https://example.com/_api/push/v1/notify',
                'format': 'event_id_only',
              }
            }
          ]
        },
    '/client/v3/publicRooms?limit=10&since=1234&server=example.com':
        (var req) => {
              'chunk': [
                {
                  'canonical_alias': '#murrays:cheese.bar',
                  'avatar_url': 'mxc://bleeker.street/CHEDDARandBRIE',
                  'guest_can_join': false,
                  'name': 'CHEESE',
                  'num_joined_members': 37,
                  'room_id': '!ol19s:bleecker.street',
                  'topic': 'Tasty tasty cheese',
                  'world_readable': true
                }
              ],
              'next_batch': 'p190q',
              'prev_batch': 'p1902',
              'total_room_count_estimate': 115
            },
    '/client/v3/rooms/!localpart%3Aexample.com/aliases': (var req) => {
          'aliases': [
            '#somewhere:example.com',
            '#another:example.com',
            '#hat_trick:example.com'
          ]
        },
    '/client/v3/joined_rooms': (var req) => {
          'joined_rooms': ['!foo:example.com']
        },
    '/client/v3/directory/list/room/!localpart%3Aexample.com': (var req) =>
        {'visibility': 'public'},
    '/client/v3/rooms/1/state/m.room.member/@alice:example.com': (var req) =>
        {'displayname': 'Alice'},
    '/client/v3/profile/%40getme%3Aexample.com': (var req) => {
          'avatar_url': 'mxc://test',
          'displayname': 'You got me',
        },
    '/client/v3/rooms/!localpart%3Aserver.abc/state/m.room.member/@getme%3Aexample.com':
        (var req) => {
              'avatar_url': 'mxc://test',
              'displayname': 'You got me',
            },
    '/client/v3/rooms/!localpart%3Aserver.abc/state': (var req) => [
          {
            'content': {'join_rule': 'public'},
            'type': 'm.room.join_rules',
            'event_id': '\$143273582443PhrSn:example.org',
            'room_id': '!636q39766251:example.com',
            'sender': '@example:example.org',
            'origin_server_ts': 1432735824653,
            'unsigned': {'age': 1234},
            'state_key': ''
          },
          {
            'content': {
              'membership': 'join',
              'avatar_url': 'mxc://example.org/SEsfnsuifSDFSSEF',
              'displayname': 'Alice Margatroid'
            },
            'type': 'm.room.member',
            'event_id': '\$143273582443PhrSn:example.org',
            'room_id': '!636q39766251:example.com',
            'sender': '@example:example.org',
            'origin_server_ts': 1432735824653,
            'unsigned': {'age': 1234},
            'state_key': '@alice:example.org'
          },
          {
            'content': {
              'creator': '@example:example.org',
              'room_version': '1',
              'm.federate': true,
              'predecessor': {
                'event_id': '\$something:example.org',
                'room_id': '!oldroom:example.org'
              }
            },
            'type': 'm.room.create',
            'event_id': '\$143273582443PhrSn:example.org',
            'room_id': '!636q39766251:example.com',
            'sender': '@example:example.org',
            'origin_server_ts': 1432735824653,
            'unsigned': {'age': 1234},
            'state_key': ''
          },
          {
            'content': {
              'ban': 50,
              'events': {'m.room.name': 100, 'm.room.power_levels': 100},
              'events_default': 0,
              'invite': 50,
              'kick': 50,
              'redact': 50,
              'state_default': 50,
              'users': {'@example:localhost': 100},
              'users_default': 0,
              'notifications': {'room': 20}
            },
            'type': 'm.room.power_levels',
            'event_id': '\$143273582443PhrSn:example.org',
            'room_id': '!636q39766251:example.com',
            'sender': '@example:example.org',
            'origin_server_ts': 1432735824653,
            'unsigned': {'age': 1234},
            'state_key': ''
          }
        ],
    '/client/v3/rooms/!localpart:server.abc/state/m.room.member/@getme:example.com':
        (var req) => {
              'avatar_url': 'mxc://test',
              'displayname': 'You got me',
            },
    '/client/v3/rooms/!localpart:server.abc/event/1234': (var req) => {
          'content': {
            'body': 'This is an example text message',
            'msgtype': 'm.text',
            'format': 'org.sdn.custom.html',
            'formatted_body': '<b>This is an example text message</b>'
          },
          'type': 'm.room.message',
          'event_id': '143273582443PhrSn:example.org',
          'room_id': '!localpart:server.abc',
          'sender': '@example:example.org',
          'origin_server_ts': 1432735824653,
          'unsigned': {'age': 1234}
        },
    '/client/v3/rooms/!localpart%3Aserver.abc/event/1234': (var req) => {
          'content': {
            'body': 'This is an example text message',
            'msgtype': 'm.text',
            'format': 'org.sdn.custom.html',
            'formatted_body': '<b>This is an example text message</b>'
          },
          'type': 'm.room.message',
          'event_id': '143273582443PhrSn:example.org',
          'room_id': '!localpart:server.abc',
          'sender': '@example:example.org',
          'origin_server_ts': 1432735824653,
          'unsigned': {'age': 1234}
        },
    '/client/v3/rooms/!localpart%3Aserver.abc/messages?from=1234&to=1234&dir=b&limit=10&filter=%7B%22lazy_load_members%22%3Atrue%7D':
        (var req) => messagesResponse,
    '/client/v3/rooms/!localpart%3Aserver.abc/messages?from=&dir=b&limit=10&filter=%7B%22lazy_load_members%22%3Atrue%7D':
        (var req) => messagesResponse,
    '/client/v3/rooms/!1234%3Aexample.com/messages?from=1234&dir=b&limit=100&filter=%7B%22lazy_load_members%22%3Atrue%7D':
        (var req) => messagesResponse,
    '/client/versions': (var req) => {
          'versions': [
            'r0.0.1',
            'r0.1.0',
            'r0.2.0',
            'r0.3.0',
            'r0.4.0',
            'r0.5.0',
            'v1.1',
            'v1.2',
          ],
          'unstable_features': {'m.lazy_load_members': true},
        },
    '/client/v3/login': (var req) => {
          'flows': [
            {'type': 'm.login.password'}
          ]
        },
    '/client/v3/rooms/!localpart%3Aserver.abc/joined_members': (var req) => {
          'joined': {
            '@bar:example.com': {
              'display_name': 'Bar',
              'avatar_url': 'mxc://riot.ovh/printErCATzZijQsSDWorRaK'
            }
          }
        },
    '/client/v3/rooms/!localpart%3Aserver.abc/members?at=1234&membership=join&not_membership=leave':
        (var req) => {
              'chunk': [
                {
                  'content': {
                    'membership': 'join',
                    'avatar_url': 'mxc://example.org/SEsfnsuifSDFSSEF',
                    'displayname': 'Alice Margatroid'
                  },
                  'type': 'm.room.member',
                  'event_id': '§143273582443PhrSn:example.org',
                  'room_id': '!636q39766251:example.com',
                  'sender': '@alice:example.com',
                  'origin_server_ts': 1432735824653,
                  'unsigned': {'age': 1234},
                  'state_key': '@alice:example.com'
                }
              ]
            },
    '/client/v3/rooms/!696r7674:example.com/members': (var req) => {
          'chunk': [
            {
              'content': {
                'membership': 'join',
                'avatar_url': 'mxc://example.org/SEsfnsuifSDFSSEF',
                'displayname': 'Alice Margatroid'
              },
              'type': 'm.room.member',
              'event_id': '§143273582443PhrSn:example.org',
              'room_id': '!636q39766251:example.com',
              'sender': '@alice:example.com',
              'origin_server_ts': 1432735824653,
              'unsigned': {'age': 1234},
              'state_key': '@alice:example.com'
            }
          ]
        },
    '/client/v3/rooms/!726s6s6q:example.com/members': (var req) => {
          'chunk': [
            {
              'content': {
                'membership': 'join',
                'avatar_url': 'mxc://example.org/SEsfnsuifSDFSSEF',
                'displayname': 'Alice Margatroid'
              },
              'type': 'm.room.member',
              'event_id': '§143273582443PhrSn:example.org',
              'room_id': '!636q39766251:example.com',
              'sender': '@alice:example.com',
              'origin_server_ts': 1432735824653,
              'unsigned': {'age': 1234},
              'state_key': '@alice:example.com'
            }
          ]
        },
    '/client/v3/rooms/!localpart%3Aserver.abc/members': (var req) => {
          'chunk': [
            {
              'content': {
                'membership': 'join',
                'avatar_url': 'mxc://example.org/SEsfnsuifSDFSSEF',
                'displayname': 'Alice Margatroid'
              },
              'type': 'm.room.member',
              'event_id': '§143273582443PhrSn:example.org',
              'room_id': '!636q39766251:example.com',
              'sender': '@example:example.org',
              'origin_server_ts': 1432735824653,
              'unsigned': {'age': 1234},
              'state_key': '@alice:example.org'
            }
          ]
        },
    '/client/v3/pushrules/global/content/nocake': (var req) => {
          'actions': ['dont_notify'],
          'pattern': 'cake*lie',
          'rule_id': 'nocake',
          'enabled': true,
          'default': false
        },
    '/client/v3/pushrules/global/content/nocake/enabled': (var req) => {
          'enabled': true,
        },
    '/client/v3/pushrules/global/content/nocake/actions': (var req) => {
          'actions': ['notify']
        },
    '/client/v3/pushrules': (var req) => {
          'global': {
            'content': [
              {
                'actions': [
                  'notify',
                  {'set_tweak': 'sound', 'value': 'default'},
                  {'set_tweak': 'highlight'}
                ],
                'default': true,
                'enabled': true,
                'pattern': 'alice',
                'rule_id': '.m.rule.contains_user_name'
              }
            ],
            'override': [
              {
                'actions': ['dont_notify'],
                'conditions': <Map<String, Object?>>[],
                'default': true,
                'enabled': false,
                'rule_id': '.m.rule.master'
              },
              {
                'actions': ['dont_notify'],
                'conditions': [
                  {
                    'key': 'content.msgtype',
                    'kind': 'event_match',
                    'pattern': 'm.notice'
                  }
                ],
                'default': true,
                'enabled': true,
                'rule_id': '.m.rule.suppress_notices'
              }
            ],
            'room': <Map<String, Object?>>[],
            'sender': <Map<String, Object?>>[],
            'underride': [
              {
                'actions': [
                  'notify',
                  {'set_tweak': 'sound', 'value': 'ring'},
                  {'set_tweak': 'highlight', 'value': false}
                ],
                'conditions': [
                  {
                    'key': 'type',
                    'kind': 'event_match',
                    'pattern': 'm.call.invite'
                  }
                ],
                'default': true,
                'enabled': true,
                'rule_id': '.m.rule.call'
              },
              {
                'actions': [
                  'notify',
                  {'set_tweak': 'sound', 'value': 'default'},
                  {'set_tweak': 'highlight'}
                ],
                'conditions': [
                  {'kind': 'contains_display_name'}
                ],
                'default': true,
                'enabled': true,
                'rule_id': '.m.rule.contains_display_name'
              },
              {
                'actions': [
                  'notify',
                  {'set_tweak': 'sound', 'value': 'default'},
                  {'set_tweak': 'highlight', 'value': false}
                ],
                'conditions': [
                  {'is': '2', 'kind': 'room_member_count'}
                ],
                'default': true,
                'enabled': true,
                'rule_id': '.m.rule.room_one_to_one'
              },
              {
                'actions': [
                  'notify',
                  {'set_tweak': 'sound', 'value': 'default'},
                  {'set_tweak': 'highlight', 'value': false}
                ],
                'conditions': [
                  {
                    'key': 'type',
                    'kind': 'event_match',
                    'pattern': 'm.room.member'
                  },
                  {
                    'key': 'content.membership',
                    'kind': 'event_match',
                    'pattern': 'invite'
                  },
                  {
                    'key': 'state_key',
                    'kind': 'event_match',
                    'pattern': '@alice:example.com'
                  }
                ],
                'default': true,
                'enabled': true,
                'rule_id': '.m.rule.invite_for_me'
              },
              {
                'actions': [
                  'notify',
                  {'set_tweak': 'highlight', 'value': false}
                ],
                'conditions': [
                  {
                    'key': 'type',
                    'kind': 'event_match',
                    'pattern': 'm.room.member'
                  }
                ],
                'default': true,
                'enabled': true,
                'rule_id': '.m.rule.member_event'
              },
              {
                'actions': [
                  'notify',
                  {'set_tweak': 'highlight', 'value': false}
                ],
                'conditions': [
                  {
                    'key': 'type',
                    'kind': 'event_match',
                    'pattern': 'm.room.message'
                  }
                ],
                'default': true,
                'enabled': true,
                'rule_id': '.m.rule.message'
              }
            ]
          }
        },
    '/client/v3/sync?filter=%7B%22room%22%3A%7B%22include_leave%22%3Atrue%2C%22timeline%22%3A%7B%22limit%22%3A10%7D%7D%7D&timeout=0':
        (var req) => archiveSyncResponse,
    '/client/v3/sync?filter=%7B%22room%22%3A%7B%22state%22%3A%7B%22lazy_load_members%22%3Atrue%7D%7D%7D':
        (var req) => syncResponse,
    '/client/v3/sync?filter=%7B%7D&since=1234&full_state=false&set_presence=unavailable&timeout=15':
        (var req) => syncResponse,
    '/client/v3/register/available?username=testuser': (var req) =>
        {'available': true},
    '/client/v3/user/${Uri.encodeComponent('alice@example.com')}/filter/1234':
        (var req) => {
              'room': {
                'state': {
                  'types': ['m.room.*'],
                  'not_rooms': ['!726s6s6q:example.com']
                },
                'timeline': {
                  'limit': 10,
                  'types': ['m.room.message'],
                  'not_rooms': ['!726s6s6q:example.com'],
                  'not_senders': ['@spam:example.com']
                },
                'ephemeral': {
                  'types': ['m.receipt', 'm.typing'],
                  'not_rooms': ['!726s6s6q:example.com'],
                  'not_senders': ['@spam:example.com']
                },
                'account_data': {
                  'types': ['m.receipt', 'm.typing'],
                  'not_rooms': ['!726s6s6q:example.com'],
                  'not_senders': ['@spam:example.com']
                }
              },
              'presence': {
                'types': ['m.presence'],
                'not_senders': ['@alice:example.com']
              },
              'event_format': 'client',
              'event_fields': ['type', 'content', 'sender']
            },
    '/client/v3/room_keys/version': (var req) => {
          'algorithm': AlgorithmTypes.megolmBackupV1Curve25519AesSha2,
          'auth_data': {
            'public_key': 'GXYaxqhNhUK28zUdxOmEsFRguz+PzBsDlTLlF0O0RkM',
            'signatures': <String, Object?>{},
          },
          'count': 0,
          'etag': '0',
          'version': '5',
        },
    '/client/v3/room_keys/keys/${Uri.encodeComponent('!726s6s6q:example.com')}/${Uri.encodeComponent('ciM/JWTPrmiWPPZNkRLDPQYf9AW/I46bxyLSr+Bx5oU')}?version=5':
        (var req) => {
              'first_message_index': 0,
              'forwarded_count': 0,
              'is_verified': true,
              'session_data': {
                'ephemeral': 'fwRxYh+seqLykz5mQCLypJ4/59URdcFJ2s69OU1dGRc',
                'ciphertext':
                    '19jkQYlbgdP+VL9DH3qY/Dvpk6onJZgf+6frZFl1TinPCm9OMK9AZZLuM1haS9XLAUK1YsREgjBqfl6T+Tq8JlJ5ONZGg2Wttt24sGYc0iTMZJ8rXcNDeKMZhM96ETyjufJSeYoXLqifiVLDw9rrVBmNStF7PskYp040em+0OZ4pF85Cwsdf7l9V7MMynzh9BoXqVUCBiwT03PNYH9AEmNUxXX+6ZwCpe/saONv8MgGt5uGXMZIK29phA3D8jD6uV/WOHsB8NjHNq9FrfSEAsl+dAcS4uiYie4BKSSeQN+zGAQqu1MMW4OAdxGOuf8WpIINx7n+7cKQfxlmc/Cgg5+MmIm2H0oDwQ+Xu7aSxp1OCUzbxQRdjz6+tnbYmZBuH0Ov2RbEvC5tDb261LRqKXpub0llg5fqKHl01D0ahv4OAQgRs5oU+4mq+H2QGTwIFGFqP9tCRo0I+aICawpxYOfoLJpFW6KvEPnM2Lr3sl6Nq2fmkz6RL5F7nUtzxN8OKazLQpv8DOYzXbi7+ayEsqS0/EINetq7RfCqgjrEUgfNWYuFXWqvUT8lnxLdNu+8cyrJqh1UquFjXWTw1kWcJ0pkokVeBtK9YysCnF1UYh/Iv3rl2ZoYSSLNtuvMSYlYHggZ8xV8bz9S3X2/NwBycBiWIy5Ou/OuSX7trIKgkkmda0xjBWEM1a2acVuqu2OFbMn2zFxm2a3YwKP//OlIgMg',
                'mac': 'QzKV/fgAs4U',
              },
            },
    '/client/v3/room_keys/keys/${Uri.encodeComponent('!726s6s6q:example.com')}?version=5':
        (var req) => {
              'sessions': {
                'ciM/JWTPrmiWPPZNkRLDPQYf9AW/I46bxyLSr+Bx5oU': {
                  'first_message_index': 0,
                  'forwarded_count': 0,
                  'is_verified': true,
                  'session_data': {
                    'ephemeral':
                        'fwRxYh+seqLykz5mQCLypJ4/59URdcFJ2s69OU1dGRc',
                    'ciphertext':
                        '19jkQYlbgdP+VL9DH3qY/Dvpk6onJZgf+6frZFl1TinPCm9OMK9AZZLuM1haS9XLAUK1YsREgjBqfl6T+Tq8JlJ5ONZGg2Wttt24sGYc0iTMZJ8rXcNDeKMZhM96ETyjufJSeYoXLqifiVLDw9rrVBmNStF7PskYp040em+0OZ4pF85Cwsdf7l9V7MMynzh9BoXqVUCBiwT03PNYH9AEmNUxXX+6ZwCpe/saONv8MgGt5uGXMZIK29phA3D8jD6uV/WOHsB8NjHNq9FrfSEAsl+dAcS4uiYie4BKSSeQN+zGAQqu1MMW4OAdxGOuf8WpIINx7n+7cKQfxlmc/Cgg5+MmIm2H0oDwQ+Xu7aSxp1OCUzbxQRdjz6+tnbYmZBuH0Ov2RbEvC5tDb261LRqKXpub0llg5fqKHl01D0ahv4OAQgRs5oU+4mq+H2QGTwIFGFqP9tCRo0I+aICawpxYOfoLJpFW6KvEPnM2Lr3sl6Nq2fmkz6RL5F7nUtzxN8OKazLQpv8DOYzXbi7+ayEsqS0/EINetq7RfCqgjrEUgfNWYuFXWqvUT8lnxLdNu+8cyrJqh1UquFjXWTw1kWcJ0pkokVeBtK9YysCnF1UYh/Iv3rl2ZoYSSLNtuvMSYlYHggZ8xV8bz9S3X2/NwBycBiWIy5Ou/OuSX7trIKgkkmda0xjBWEM1a2acVuqu2OFbMn2zFxm2a3YwKP//OlIgMg',
                    'mac': 'QzKV/fgAs4U',
                  },
                },
              },
            },
    '/client/v3/room_keys/keys?version=5': (var req) => {
          'rooms': {
            '!726s6s6q:example.com': {
              'sessions': {
                'ciM/JWTPrmiWPPZNkRLDPQYf9AW/I46bxyLSr+Bx5oU': {
                  'first_message_index': 0,
                  'forwarded_count': 0,
                  'is_verified': true,
                  'session_data': {
                    'ephemeral':
                        'fwRxYh+seqLykz5mQCLypJ4/59URdcFJ2s69OU1dGRc',
                    'ciphertext':
                        '19jkQYlbgdP+VL9DH3qY/Dvpk6onJZgf+6frZFl1TinPCm9OMK9AZZLuM1haS9XLAUK1YsREgjBqfl6T+Tq8JlJ5ONZGg2Wttt24sGYc0iTMZJ8rXcNDeKMZhM96ETyjufJSeYoXLqifiVLDw9rrVBmNStF7PskYp040em+0OZ4pF85Cwsdf7l9V7MMynzh9BoXqVUCBiwT03PNYH9AEmNUxXX+6ZwCpe/saONv8MgGt5uGXMZIK29phA3D8jD6uV/WOHsB8NjHNq9FrfSEAsl+dAcS4uiYie4BKSSeQN+zGAQqu1MMW4OAdxGOuf8WpIINx7n+7cKQfxlmc/Cgg5+MmIm2H0oDwQ+Xu7aSxp1OCUzbxQRdjz6+tnbYmZBuH0Ov2RbEvC5tDb261LRqKXpub0llg5fqKHl01D0ahv4OAQgRs5oU+4mq+H2QGTwIFGFqP9tCRo0I+aICawpxYOfoLJpFW6KvEPnM2Lr3sl6Nq2fmkz6RL5F7nUtzxN8OKazLQpv8DOYzXbi7+ayEsqS0/EINetq7RfCqgjrEUgfNWYuFXWqvUT8lnxLdNu+8cyrJqh1UquFjXWTw1kWcJ0pkokVeBtK9YysCnF1UYh/Iv3rl2ZoYSSLNtuvMSYlYHggZ8xV8bz9S3X2/NwBycBiWIy5Ou/OuSX7trIKgkkmda0xjBWEM1a2acVuqu2OFbMn2zFxm2a3YwKP//OlIgMg',
                    'mac': 'QzKV/fgAs4U',
                  },
                },
              },
            },
          },
        },
    '/client/v1/rooms/${Uri.encodeComponent('!gPxZhKUssFZKZcoCKY:neko.dev')}/hierarchy':
        (var req) => spaceHierarchyResponse,
  },
  'POST': {
    '/client/v3/delete_devices': (var req) => <String, Object?>{},
    '/client/v3/account/3pid/add': (var req) => <String, Object?>{},
    '/client/v3/account/3pid/bind': (var req) => <String, Object?>{},
    '/client/v3/account/3pid/delete': (var req) =>
        {'id_server_unbind_result': 'success'},
    '/client/v3/account/3pid/unbind': (var req) =>
        {'id_server_unbind_result': 'success'},
    '/client/v3/account/password': (var req) => <String, Object?>{},
    '/client/v3/rooms/1234/report/1234': (var req) => <String, Object?>{},
    '/client/v3/search': (var req) => {
          'search_categories': {
            'room_events': {
              'groups': {
                'room_id': {
                  '!qPewotXpIctQySfjSy:localhost': {
                    'order': 1,
                    'next_batch': 'BdgFsdfHSf-dsFD',
                    'results': ['\$144429830826TWwbB:localhost']
                  }
                }
              },
              'highlights': ['martians', 'men'],
              'next_batch': '5FdgFsd234dfgsdfFD',
              'count': 1224,
              'results': [
                {
                  'rank': 0.00424866,
                  'result': {
                    'content': {
                      'body': 'This is an example text message',
                      'msgtype': 'm.text',
                      'format': 'org.sdn.custom.html',
                      'formatted_body':
                          '<b>This is an example text message</b>'
                    },
                    'type': 'm.room.message',
                    'event_id': '\$144429830826TWwbB:localhost',
                    'room_id': '!qPewotXpIctQySfjSy:localhost',
                    'sender': '@example:example.org',
                    'origin_server_ts': 1432735824653,
                    'unsigned': {'age': 1234}
                  }
                }
              ]
            }
          }
        },
    '/client/v3/account/deactivate': (var req) =>
        {'id_server_unbind_result': 'success'},
    '/client/v3/user_directory/search': (var req) => {
          'results': [
            {
              'user_id': '@foo:bar.com',
              'display_name': 'Foo',
              'avatar_url': 'mxc://bar.com/foo'
            }
          ],
          'limited': false
        },
    '/client/v3/register/email/requestToken': (var req) => {
          'sid': '123abc',
          'submit_url': 'https://example.org/path/to/submitToken'
        },
    '/client/v3/register/msisdn/requestToken': (var req) => {
          'sid': '123abc',
          'submit_url': 'https://example.org/path/to/submitToken'
        },
    '/client/v3/account/password/email/requestToken': (var req) => {
          'sid': '123abc',
          'submit_url': 'https://example.org/path/to/submitToken'
        },
    '/client/v3/account/password/msisdn/requestToken': (var req) => {
          'sid': '123abc',
          'submit_url': 'https://example.org/path/to/submitToken'
        },
    '/client/v3/account/3pid/email/requestToken': (var req) => {
          'sid': '123abc',
          'submit_url': 'https://example.org/path/to/submitToken'
        },
    '/client/v3/account/3pid/msisdn/requestToken': (var req) => {
          'sid': '123abc',
          'submit_url': 'https://example.org/path/to/submitToken'
        },
    '/client/v3/rooms/!localpart%3Aexample.com/receipt/m.read/%241234%3Aexample.com':
        (var req) => <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aexample.com/read_markers': (var req) =>
        <String, Object?>{},
    '/client/v3/user/${Uri.encodeComponent('alice@example.com')}/filter':
        (var req) => {'filter_id': '1234'},
    '/client/v3/publicRooms?server=example.com': (var req) => {
          'chunk': [
            {
              'canonical_alias': '#murrays:cheese.bar',
              'avatar_url': 'mxc://bleeker.street/CHEDDARandBRIE',
              'guest_can_join': false,
              'name': 'CHEESE',
              'num_joined_members': 37,
              'room_id': '!ol19s:bleecker.street',
              'topic': 'Tasty tasty cheese',
              'world_readable': true
            }
          ],
          'next_batch': 'p190q',
          'prev_batch': 'p1902',
          'total_room_count_estimate': 115
        },
    '/client/v3/keys/claim': (dynamic req) {
      final request = decodeJson(req)["one_time_keys"];
      final keys = (request is Map<String, Object?>)
          ? request["one_time_keys"] as Map<String, Object?>?
          : null;
      return {
        'failures': <String, Object?>{},
        'one_time_keys': {
          if (keys?['@alice:example.com'] != null)
            '@alice:example.com': {
              'JLAFKJWSCS': {
                'signed_curve25519:AAAAAQ': {
                  'key': 'ikMXajRlkS7Xi9CROrAh3jXnbygk8mLBdSaY9/al0X0',
                  'signatures': {
                    '@alice:example.com': {
                      'ed25519:JLAFKJWSCS':
                          'XdboCa0Ljoh0Y0i/IVnmMqy/+T1hJyu8BA/nRYniJMQ7QWh/pGS5AsWswdARD+MAX+r4u98Qzk0y27HUddZXDA'
                    }
                  }
                }
              }
            },
          if (keys?['@test:fakeServer.notExisting'] != null)
            '@test:fakeServer.notExisting': {
              'GHTYAJCE': {
                'signed_curve25519:AAAAAQ': {
                  'key': 'qc72ve94cA28iuE0fXa98QO3uls39DHWdQlYyvvhGh0',
                  'signatures': {
                    '@test:fakeServer.notExisting': {
                      'ed25519:GHTYAJCE':
                          'dFwffr5kTKefO7sjnWLMhTzw7oV31nkPIDRxFy5OQT2OP5++Ao0KRbaBZ6qfuT7lW1owKK0Xk3s7QTBvc/eNDA',
                    },
                  },
                },
              },
            },
        }
      };
    },
    '/client/v3/rooms/!localpart%3Aexample.com/invite': (var req) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aexample.com/leave': (var req) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aexample.com/forget': (var req) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/kick': (var req) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aexample.com/kick': (var req) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aexample.com/ban': (var req) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aexample.com/unban': (var req) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aexample.com/join': (var req) =>
        {'room_id': '!localpart:example.com'},
    '/client/v3/join/!localpart%3Aexample.com?server_name=example.com&server_name=example.abc':
        (var req) => {'room_id': '!localpart:example.com'},
    '/client/v3/keys/upload': (var req) => {
          'one_time_key_counts': {
            'curve25519': 10,
            'signed_curve25519':
                tryCast<Map<String, Object?>>(decodeJson(req))
                        ?.tryGetMap<String, Object?>('one_time_keys')
                        ?.keys
                        .length ??
                    0,
          }
        },
    '/client/v3/keys/query': (var req) => {
          'failures': <String, Object?>{},
          'device_keys': {
            '@alice:example.com': {
              'JLAFKJWSCS': {
                'user_id': '@alice:example.com',
                'device_id': 'JLAFKJWSCS',
                'algorithms': [
                  AlgorithmTypes.olmV1Curve25519AesSha2,
                  AlgorithmTypes.megolmV1AesSha2
                ],
                'keys': {
                  'curve25519:JLAFKJWSCS':
                      'L+4+JCl8MD63dgo8z5Ta+9QAHXiANyOVSfgbHA5d3H8',
                  'ed25519:JLAFKJWSCS':
                      'rUFJftIWpFF/jqqz3bexGGYiG8UobKhzkeabqw1v0zM'
                },
                'signatures': {
                  '@alice:example.com': {
                    'ed25519:JLAFKJWSCS':
                        'go3mi5o3Ile+Ik+lCEpHmBmyJmKWfnRDCBBvfaVlKsMyha5IORuYcxwEUrAeLyAeeeHvkWDFX+No5eY1jYeKBw'
                  }
                },
                'unsigned': {'device_display_name': 'Alices mobile phone'}
              },
              'OTHERDEVICE': {
                'user_id': '@alice:example.com',
                'device_id': 'OTHERDEVICE',
                'algorithms': [
                  AlgorithmTypes.olmV1Curve25519AesSha2,
                  AlgorithmTypes.megolmV1AesSha2
                ],
                'keys': {
                  'curve25519:OTHERDEVICE':
                      'wMIDhiQl5jEXQrTB03ePOSQfR8sA/KMrW0CIfFfXKEE',
                  'ed25519:OTHERDEVICE':
                      '2Lyaj5NB7HPqKZMjZpA/pECXuQ+9wi8AGFdw33y3DuQ'
                },
                'signatures': {
                  '@alice:example.com': {
                    'ed25519:OTHERDEVICE':
                        'bwHd6ylISP13AICdDPd0HQd4V6dvvd4vno8/OwUNdm9UAprr3YjkDqVw425I74u2UQAarq9bytBqVqFyD6trAw',
                  }
                },
              },
            },
            '@test:fakeServer.notExisting': {
              'GHTYAJCE': {
                'user_id': '@test:fakeServer.notExisting',
                'device_id': 'GHTYAJCE',
                'algorithms': [
                  AlgorithmTypes.olmV1Curve25519AesSha2,
                  AlgorithmTypes.megolmV1AesSha2
                ],
                'keys': {
                  'curve25519:GHTYAJCE':
                      '7rvl3jORJkBiK4XX1e5TnGnqz068XfYJ0W++Ml63rgk',
                  'ed25519:GHTYAJCE':
                      'gjL//fyaFHADt9KBADGag8g7F8Up78B/K1zXeiEPLJo'
                },
                'signatures': {
                  '@test:fakeServer.notExisting': {
                    'ed25519:GHTYAJCE':
                        'NEQeTgv7ew1IZSLQphWd0y60EdHdcNfHgvoaMQco5XKeIYyiUZIWd7F4x/mkPDjUizv6yWMbTDCWdSg5XcgNBA',
                    'ed25519:F9ypFzgbISXCzxQhhSnXMkc1vq12Luna3Nw5rqViOJY':
                        'Q4/55vZjEJD7M2EC40bgZqd9Zuy/4C75UPVopJdXeioQVaKtFf6EF0nUUuql0yD+r3hinsZcock0wO6Q2xcoAQ',
                  },
                },
              },
              'OTHERDEVICE': {
                'user_id': '@test:fakeServer.notExisting',
                'device_id': 'OTHERDEVICE',
                'algorithms': [
                  AlgorithmTypes.olmV1Curve25519AesSha2,
                  AlgorithmTypes.megolmV1AesSha2
                ],
                'keys': {
                  'curve25519:OTHERDEVICE':
                      'R96BA0qE1+QAWLp7E1jyWSTJ1VXMLpEdiM2SZHlKMXM',
                  'ed25519:OTHERDEVICE':
                      'EQo9eYbSygIbOR+tVJziqAY1NI6Gga+JQOVIqJe4mr4'
                },
                'signatures': {
                  '@test:fakeServer.notExisting': {
                    'ed25519:OTHERDEVICE':
                        '/rT6pVRypJWxGos1QcI7jHL9HwcA83nkHLHqMcRPeLSxXHh4oHWvC0/tl0Xg06ogyiGw4NuB7TpOISvJBdt7BA',
                    'ed25519:F9ypFzgbISXCzxQhhSnXMkc1vq12Luna3Nw5rqViOJY':
                        'qnjiLl36h/1jlLvcAgt46Igaod2T9lOSnoSVkV0KC+c7vYIjG4QBzXpH+hycfufOT/y+a/kl52dUTLQWctMKCA',
                  },
                },
              },
            },
            '@othertest:fakeServer.notExisting': {
              'FOXDEVICE': {
                'user_id': '@othertest:fakeServer.notExisting',
                'device_id': 'FOXDEVICE',
                'algorithms': [
                  AlgorithmTypes.olmV1Curve25519AesSha2,
                  AlgorithmTypes.megolmV1AesSha2
                ],
                'keys': {
                  'curve25519:FOXDEVICE':
                      'JBG7ZaPn54OBC7TuIEiylW3BZ+7WcGQhFBPB9pogbAg',
                  'ed25519:FOXDEVICE':
                      'R5/p04tticvdlNIxiiBIP0j9OQWv8ep6eEU6/lWKDxw',
                },
                'signatures': {
                  '@othertest:fakeServer.notExisting': {
                    'ed25519:FOXDEVICE':
                        '2lJ3atmRIWgkyQNC9gvWEpxwuozsBQsg33M2IMDJqLhx/+g3Ds1vQ683dJsYIu04ORa4U0L9TqieHVpV/7qqDA',
                  },
                },
              },
            },
          },
          'master_keys': {
            '@test:fakeServer.notExisting': {
              'user_id': '@test:fakeServer.notExisting',
              'usage': ['master'],
              'keys': {
                'ed25519:82mAXjsmbTbrE6zyShpR869jnrANO75H8nYY0nDLoJ8':
                    '82mAXjsmbTbrE6zyShpR869jnrANO75H8nYY0nDLoJ8',
              },
              'signatures': <String, Object?>{},
            },
            '@othertest:fakeServer.notExisting': {
              'user_id': '@othertest:fakeServer.notExisting',
              'usage': ['master'],
              'keys': {
                'ed25519:master': 'master',
              },
              'signatures': <String, Object?>{},
            },
          },
          'self_signing_keys': {
            '@test:fakeServer.notExisting': {
              'user_id': '@test:fakeServer.notExisting',
              'usage': ['self_signing'],
              'keys': {
                'ed25519:F9ypFzgbISXCzxQhhSnXMkc1vq12Luna3Nw5rqViOJY':
                    'F9ypFzgbISXCzxQhhSnXMkc1vq12Luna3Nw5rqViOJY',
              },
              'signatures': {
                '@test:fakeServer.notExisting': {
                  'ed25519:82mAXjsmbTbrE6zyShpR869jnrANO75H8nYY0nDLoJ8':
                      'afkrbGvPn5Zb5zc7Lk9cz2skI3QrzI/L0st1GS+/GATxNjMzc6vKmGu7r9cMb1GJxy4RdeUpfH3L7Fs/fNL1Dw',
                },
              },
            },
            '@othertest:fakeServer.notExisting': {
              'user_id': '@othertest:fakeServer.notExisting',
              'usage': ['self_signing'],
              'keys': {
                'ed25519:self_signing': 'self_signing',
              },
              'signatures': <String, Object?>{},
            },
          },
          'user_signing_keys': {
            '@test:fakeServer.notExisting': {
              'user_id': '@test:fakeServer.notExisting',
              'usage': ['user_signing'],
              'keys': {
                'ed25519:0PiwulzJ/RU86LlzSSZ8St80HUMN3dqjKa/orIJoA0g':
                    '0PiwulzJ/RU86LlzSSZ8St80HUMN3dqjKa/orIJoA0g',
              },
              'signatures': {
                '@test:fakeServer.notExisting': {
                  'ed25519:82mAXjsmbTbrE6zyShpR869jnrANO75H8nYY0nDLoJ8':
                      'pvgbZxEbllaElhpiRnb7/uOIUhrglvHCFnpoxr3/5ZrWa0EK/uaefhex9eEV4uBLrHjHg2ymwdNaM7ap9+sBBg',
                },
              },
            },
            '@othertest:fakeServer.notExisting': {
              'user_id': '@othertest:fakeServer.notExisting',
              'usage': ['user_signing'],
              'keys': {
                'ed25519:user_signing': 'user_signing',
              },
              'signatures': <String, Object?>{},
            },
          },
        },
    '/client/v3/register': (var req) => {
          'user_id': '@testuser:example.com',
          'access_token': '1234',
          'device_id': 'ABCD',
        },
    '/client/v3/register?kind=user': (var req) =>
        {'user_id': '@testuser:example.com'},
    '/client/v3/register?kind=guest': (var req) =>
        {'user_id': '@testuser:example.com'},
    '/client/v3/rooms/1234/upgrade': (var req) => {
          'replacement_room': '!1234:fakeServer.notExisting',
        },
    '/client/v3/user/1234/openid/request_token': (var req) => {
          'access_token': 'SomeT0kenHere',
          'token_type': 'Bearer',
          'sdn_server_name': 'example.com',
          'expires_in': 3600
        },
    '/client/v3/user/@test:fakeServer.notExisting/openid/request_token':
        (var req) => {
              'access_token': 'SomeT0kenHere',
              'token_type': 'Bearer',
              'sdn_server_name': 'example.com',
              'expires_in': 3600
            },
    '/client/v3/login': (var req) => {
          'user_id': '@test:fakeServer.notExisting',
          'access_token': 'abc123',
          'device_id': 'GHTYAJCE',
          'well_known': {
            'm.node': {'base_url': 'https://example.org'},
            'm.identity_server': {'base_url': 'https://id.example.org'}
          }
        },
    '/media/v3/upload?filename=file.jpeg': (var req) =>
        {'content_uri': 'mxc://example.com/AQwafuaFswefuhsfAFAgsw'},
    '/client/v3/logout': (var reqI) => <String, Object?>{},
    '/client/v3/pushers/set': (var reqI) => <String, Object?>{},
    '/client/v3/join/1234': (var reqI) => {'room_id': '1234'},
    '/client/v3/logout/all': (var reqI) => <String, Object?>{},
    '/client/v3/createRoom': (var reqI) => {
          'room_id': '!1234:fakeServer.notExisting',
        },
    '/client/v3/rooms/!localpart%3Aserver.abc/read_markers': (var reqI) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart:server.abc/kick': (var reqI) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/ban': (var reqI) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/unban': (var reqI) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/invite': (var reqI) =>
        <String, Object?>{},
    '/client/v3/keys/device_signing/upload': (var reqI) {
      return <String, Object?>{};
    },
    '/client/v3/keys/signatures/upload': (var reqI) =>
        {'failures': <String, Object?>{}},
    '/client/v3/room_keys/version': (var reqI) => {'version': '5'},
  },
  'PUT': {
    '/client/v3/user/%40test%3AfakeServer.notExisting/account_data/m.ignored_user_list':
        (var req) => <String, Object?>{},
    '/client/v3/presence/${Uri.encodeComponent('@alice:example.com')}/status':
        (var req) => <String, Object?>{},
    '/client/v3/pushrules/global/content/nocake/enabled': (var req) =>
        <String, Object?>{},
    '/client/v3/pushrules/global/content/nocake/actions': (var req) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/state/m.room.history_visibility':
        (var req) => <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/state/m.room.join_rules':
        (var req) => <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/state/m.room.guest_access':
        (var req) => <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/send/m.call.invite/1234':
        (var req) => <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/send/m.call.answer/1234':
        (var req) => <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/send/m.call.candidates/1234':
        (var req) => <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/send/m.call.hangup/1234':
        (var req) => <String, Object?>{},
    '/client/v3/rooms/!1234%3Aexample.com/redact/1143273582443PhrSn%3Aexample.org/1234':
        (var req) => {'event_id': '1234'},
    '/client/v3/pushrules/global/room/!localpart%3Aserver.abc': (var req) =>
        <String, Object?>{},
    '/client/v3/pushrules/global/override/.m.rule.master/enabled':
        (var req) => <String, Object?>{},
    '/client/v3/pushrules/global/content/nocake?before=1&after=2':
        (var req) => <String, Object?>{},
    '/client/v3/devices/QBUAZIFURK': (var req) => <String, Object?>{},
    '/client/v3/directory/room/%23testalias%3Aexample.com': (var reqI) =>
        <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/send/m.room.message/testtxid':
        (var reqI) => {
              'event_id': '\$event${FakeSDNApi.eventCounter++}',
            },
    '/client/v3/rooms/!localpart%3Aserver.abc/send/m.reaction/testtxid':
        (var reqI) => {
              'event_id': '\$event${FakeSDNApi.eventCounter++}',
            },
    '/client/v3/rooms/!localpart%3Aexample.com/typing/%40alice%3Aexample.com':
        (var req) => <String, Object?>{},
    '/client/v3/rooms/!1234%3Aexample.com/send/m.room.message/1234':
        (var reqI) => {
              'event_id': '\$event${FakeSDNApi.eventCounter++}',
            },
    '/client/v3/rooms/!1234%3Aexample.com/send/m.room.message/newresend':
        (var reqI) => {
              'event_id': '\$event${FakeSDNApi.eventCounter++}',
            },
    '/client/v3/user/%40test%3AfakeServer.notExisting/rooms/!localpart%3Aserver.abc/tags/m.favourite':
        (var req) => <String, Object?>{},
    '/client/v3/user/%40alice%3Aexample.com/rooms/!localpart%3Aexample.com/tags/testtag':
        (var req) => <String, Object?>{},
    '/client/v3/user/%40alice%3Aexample.com/account_data/test.account.data':
        (var req) => <String, Object?>{},
    '/client/v3/user/%40test%3AfakeServer.notExisting/account_data/best%20animal':
        (var req) => <String, Object?>{},
    '/client/v3/user/%40alice%3Aexample.com/rooms/1234/account_data/test.account.data':
        (var req) => <String, Object?>{},
    '/client/v3/user/%40test%3AfakeServer.notExisting/rooms/!localpart%3Aserver.abc/account_data/com.famedly.marked_unread':
        (var req) => <String, Object?>{},
    '/client/v3/user/%40test%3AfakeServer.notExisting/account_data/m.direct':
        (var req) => <String, Object?>{},
    '/client/v3/user/%40othertest%3AfakeServer.notExisting/account_data/m.direct':
        (var req) => <String, Object?>{},
    '/client/v3/profile/%40alice%3Aexample.com/displayname': (var reqI) =>
        <String, Object?>{},
    '/client/v3/profile/%40alice%3Aexample.com/avatar_url': (var reqI) =>
        <String, Object?>{},
    '/client/v3/profile/%40test%3AfakeServer.notExisting/avatar_url':
        (var reqI) => <String, Object?>{},
    '/client/v3/rooms/!localpart%3Aserver.abc/state/m.room.encryption':
        (var reqI) => {'event_id': 'YUwRidLecu:example.com'},
    '/client/v3/rooms/!localpart%3Aserver.abc/state/m.room.avatar':
        (var reqI) => {'event_id': 'YUwRidLecu:example.com'},
    '/client/v3/rooms/!localpart%3Aserver.abc/send/m.room.message/1234':
        (var reqI) => {'event_id': 'YUwRidLecu:example.com'},
    '/client/v3/rooms/!localpart%3Aserver.abc/redact/1234/1234': (var reqI) =>
        {'event_id': 'YUwRidLecu:example.com'},
    '/client/v3/rooms/!localpart%3Aserver.abc/state/m.room.name':
        (var reqI) => {
              'event_id': '42',
            },
    '/client/v3/rooms/!localpart%3Aserver.abc/state/m.room.topic':
        (var reqI) => {
              'event_id': '42',
            },
    '/client/v3/rooms/!localpart%3Aserver.abc/state/m.room.pinned_events':
        (var reqI) => {
              'event_id': '42',
            },
    '/client/v3/rooms/!localpart%3Aserver.abc/state/m.room.power_levels':
        (var reqI) => {
              'event_id': '42',
            },
    '/client/v3/directory/list/room/!localpart%3Aexample.com': (var req) =>
        <String, Object?>{},
    '/client/v3/room_keys/version/5': (var req) => <String, Object?>{},
    '/client/v3/room_keys/keys/${Uri.encodeComponent('!726s6s6q:example.com')}/${Uri.encodeComponent('ciM/JWTPrmiWPPZNkRLDPQYf9AW/I46bxyLSr+Bx5oU')}?version=5':
        (var req) => {
              'etag': 'asdf',
              'count': 1,
            },
    '/client/v3/room_keys/keys/${Uri.encodeComponent('!726s6s6q:example.com')}?version=5':
        (var req) => {
              'etag': 'asdf',
              'count': 1,
            },
    '/client/v3/room_keys/keys?version=5': (var req) => {
          'etag': 'asdf',
          'count': 1,
        },
  },
  'DELETE': {
    '/unknown/token': (var req) => {'errcode': 'M_UNKNOWN_TOKEN'},
    '/client/v3/devices/QBUAZIFURK': (var req) => <String, Object?>{},
    '/client/v3/directory/room/%23testalias%3Aexample.com': (var reqI) =>
        <String, Object?>{},
    '/client/v3/pushrules/global/content/nocake': (var req) =>
        <String, Object?>{},
    '/client/v3/pushrules/global/override/!localpart%3Aserver.abc':
        (var req) => <String, Object?>{},
    '/client/v3/user/%40test%3AfakeServer.notExisting/rooms/!localpart%3Aserver.abc/tags/m.favourite':
        (var req) => <String, Object?>{},
    '/client/v3/user/%40alice%3Aexample.com/rooms/!localpart%3Aexample.com/tags/testtag':
        (var req) => <String, Object?>{},
    '/client/v3/room_keys/version/5': (var req) => <String, Object?>{},
    '/client/v3/room_keys/keys/${Uri.encodeComponent('!726s6s6q:example.com')}/${Uri.encodeComponent('ciM/JWTPrmiWPPZNkRLDPQYf9AW/I46bxyLSr+Bx5oU')}?version=5':
        (var req) => {
              'etag': 'asdf',
              'count': 1,
            },
    '/client/v3/room_keys/keys/${Uri.encodeComponent('!726s6s6q:example.com')}?version=5':
        (var req) => {
              'etag': 'asdf',
              'count': 1,
            },
    '/client/v3/room_keys/keys?version=5': (var req) => {
          'etag': 'asdf',
          'count': 1,
        },
  },
};