| 19 | self.end_headers() |
| 20 | |
| 21 | def do_GET(self): |
| 22 | if self.path == "/favicon.ico": |
| 23 | return |
| 24 | |
| 25 | parsed_path = urllib.parse.urlparse(self.path) |
| 26 | parts = {k: ";".join(v) for k, v in urllib.parse.parse_qs(parsed_path.query).items()} |
| 27 | is_success = False |
| 28 | try: |
| 29 | self.server.callback(parts) |
| 30 | pyfalog.info("Successfully logged into EVE.") |
| 31 | is_success = True |
| 32 | self.send_response(200) |
| 33 | self.send_header('Access-Control-Allow-Origin', '*') |
| 34 | self.end_headers() |
| 35 | except (KeyboardInterrupt, SystemExit): |
| 36 | raise |
| 37 | except (GenericSsoError, APIException) as ex: |
| 38 | pyfalog.error("Error logging into EVE") |
| 39 | pyfalog.error(ex) |
| 40 | self.send_response(400) |
| 41 | self.send_header('Access-Control-Allow-Origin', '*') |
| 42 | self.end_headers() |
| 43 | self.wfile.write(str.encode(str(ex))) |
| 44 | except Exception as ex: |
| 45 | pyfalog.error("Error logging into EVE") |
| 46 | pyfalog.error(ex) |
| 47 | self.send_response(500) |
| 48 | self.send_header('Access-Control-Allow-Origin', '*') |
| 49 | self.end_headers() |
| 50 | self.wfile.write(str.encode(str(''.join(traceback.format_tb(ex.__traceback__))))) |
| 51 | |
| 52 | # send error |
| 53 | |
| 54 | if is_success: |
| 55 | self.server.stop() |
| 56 | |
| 57 | def log_message(self, format, *args): |
| 58 | return |