(self)
| 2781 | self.wfile.write(string.encode('utf-8')) |
| 2782 | |
| 2783 | def do_GET(self): |
| 2784 | try: |
| 2785 | parsedurl = urllib.parse.urlparse(self.path) |
| 2786 | query_components = urllib.parse.parse_qs(parsedurl.query) |
| 2787 | out_buffer = io.StringIO() |
| 2788 | if parsedurl.path == "/dumps.html": |
| 2789 | self.send_success_html_headers() |
| 2790 | self.server.output_dumps(out_buffer) |
| 2791 | self.write(out_buffer.getvalue()) |
| 2792 | elif parsedurl.path == "/summary.html": |
| 2793 | self.send_success_html_headers() |
| 2794 | self.formatter(query_components).output_summary(out_buffer) |
| 2795 | self.write(out_buffer.getvalue()) |
| 2796 | elif parsedurl.path == "/info.html": |
| 2797 | self.send_success_html_headers() |
| 2798 | self.formatter(query_components).output_info(out_buffer) |
| 2799 | self.write(out_buffer.getvalue()) |
| 2800 | elif parsedurl.path == "/modules.html": |
| 2801 | self.send_success_html_headers() |
| 2802 | self.formatter(query_components).output_modules(out_buffer) |
| 2803 | self.write(out_buffer.getvalue()) |
| 2804 | elif parsedurl.path == "/search.html" or parsedurl.path == "/s": |
| 2805 | address = query_components.get("val", []) |
| 2806 | if len(address) != 1: |
| 2807 | self.send_error(404, "Invalid params") |
| 2808 | return |
| 2809 | self.send_success_html_headers() |
| 2810 | self.formatter(query_components).output_search_res( |
| 2811 | out_buffer, address[0]) |
| 2812 | self.write(out_buffer.getvalue()) |
| 2813 | elif parsedurl.path == "/disasm.html": |
| 2814 | address = query_components.get("val", []) |
| 2815 | exact = query_components.get("exact", ["on"]) |
| 2816 | if len(address) != 1: |
| 2817 | self.send_error(404, "Invalid params") |
| 2818 | return |
| 2819 | self.send_success_html_headers() |
| 2820 | self.formatter(query_components).output_disasm( |
| 2821 | out_buffer, address[0], exact[0]) |
| 2822 | self.write(out_buffer.getvalue()) |
| 2823 | elif parsedurl.path == "/data.html": |
| 2824 | address = query_components.get("val", []) |
| 2825 | datakind = query_components.get("type", ["address"]) |
| 2826 | if len(address) == 1 and len(datakind) == 1: |
| 2827 | self.send_success_html_headers() |
| 2828 | self.formatter(query_components).output_data( |
| 2829 | out_buffer, address[0], datakind[0]) |
| 2830 | self.write(out_buffer.getvalue()) |
| 2831 | else: |
| 2832 | self.send_error(404,'Invalid params') |
| 2833 | elif parsedurl.path == "/setdumpdesc": |
| 2834 | name = query_components.get("dump", [""]) |
| 2835 | description = query_components.get("description", [""]) |
| 2836 | if len(name) == 1 and len(description) == 1: |
| 2837 | name = name[0] |
| 2838 | description = description[0] |
| 2839 | if self.server.set_dump_desc(name, description): |
| 2840 | self.send_success_html_headers() |
nothing calls this directly
no test coverage detected