Mercurial > libervia-backend
comparison sat/plugins/plugin_comp_ap_gateway/http_server.py @ 3847:aaa4e7815ba8
component AP gateway: new `verbose` attribute in AP gateway to activate debug logs:
when verbose is not null, object posted or returned on GET request are logged. Check
comments for vebosity level
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 14 Jul 2022 12:55:30 +0200 |
parents | cc13efdd8360 |
children | c0bcbcf5b4b7 |
comparison
equal
deleted
inserted
replaced
3846:cc13efdd8360 | 3847:aaa4e7815ba8 |
---|---|
686 async def APRequest( | 686 async def APRequest( |
687 self, | 687 self, |
688 request: "HTTPRequest", | 688 request: "HTTPRequest", |
689 signing_actor: Optional[str] = None | 689 signing_actor: Optional[str] = None |
690 ) -> None: | 690 ) -> None: |
691 if self.apg.verbose: | |
692 try: | |
693 data = json.load(request.content) | |
694 except (json.JSONDecodeError, ValueError) as e: | |
695 pass | |
696 else: | |
697 from pprint import pformat | |
698 log.info( | |
699 f"==> got {request.method.decode()} request:\n{pformat(data)}\n---" | |
700 ) | |
701 | |
702 finally: | |
703 request.content.seek(0) | |
704 | |
691 path = request.path.decode() | 705 path = request.path.decode() |
692 ap_url = parse.urljoin( | 706 ap_url = parse.urljoin( |
693 f"https://{self.apg.public_url}", | 707 f"https://{self.apg.public_url}", |
694 path | 708 path |
695 ) | 709 ) |
723 request, account_jid, node, ap_account, ap_url, signing_actor | 737 request, account_jid, node, ap_account, ap_url, signing_actor |
724 ) | 738 ) |
725 if ret_data is not None: | 739 if ret_data is not None: |
726 request.setHeader("content-type", CONTENT_TYPE_AP) | 740 request.setHeader("content-type", CONTENT_TYPE_AP) |
727 request.write(json.dumps(ret_data).encode()) | 741 request.write(json.dumps(ret_data).encode()) |
742 if self.apg.verbose>=2: | |
743 from pprint import pformat | |
744 to_log = [f"==> ret (code: {request.code}):\n{pformat(ret_data)}"] | |
745 log.info( | |
746 | |
747 ) | |
748 if self.apg.verbose>=3: | |
749 headers = "\n".join( | |
750 f" {k.decode()}: {v.decode()}" | |
751 for k,v in request.getAllHeaders().items() | |
752 ) | |
753 to_log.append(" headers:\n{headers}") | |
754 to_log.append("---") | |
755 log.info("\n".join(to_log)) | |
728 request.finish() | 756 request.finish() |
729 | 757 |
730 async def APPostRequest(self, request: "HTTPRequest"): | 758 async def APPostRequest(self, request: "HTTPRequest"): |
731 try: | 759 try: |
732 signing_actor = await self.checkSignature(request) | 760 signing_actor = await self.checkSignature(request) |