Exemple #1
0
	def run(self, config: Config, event: dict) -> dict:
		"""イベントデータから対応するハンドラーを呼び出し、レスポンスを返却

		:param Config config: コンフィグ
		:param dict event: イベントデータ
		:return dict: レスポンスの連想配列
		:raise Error: Error系の例外発生時にメッセージを整形して再出力
		"""
		try:
			request = self.__build_request(event)
			Bootstrap(config, request)
			router = Router(config.get('routes.path'))
			receiver = router.dispatch(request.url)
			handler = receiver.instantiate(config, request)
			return handler().to_dict()
		except Error as e:
			raise Exception(f'[{e.code}] {e.__class__.__name__}: {e.message}')
Exemple #2
0
	def test_dispatch(self):
		router = Router('tests/unit/routing/fixtures/router/routes.yml')
		handler = router.dispatch('/test/Router').instantiate()
		self.assertEqual('success', handler())