{"id":18575178,"url":"https://github.com/portswigger/example-event-listeners","last_synced_at":"2025-04-10T08:30:44.658Z","repository":{"id":17940921,"uuid":"81906984","full_name":"PortSwigger/example-event-listeners","owner":"PortSwigger","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-01T14:13:52.000Z","size":4,"stargazers_count":15,"open_issues_count":0,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T18:46:57.612Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PortSwigger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-14T05:03:19.000Z","updated_at":"2024-08-12T19:27:47.000Z","dependencies_parsed_at":"2022-07-26T19:49:18.914Z","dependency_job_id":null,"html_url":"https://github.com/PortSwigger/example-event-listeners","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortSwigger%2Fexample-event-listeners","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortSwigger%2Fexample-event-listeners/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortSwigger%2Fexample-event-listeners/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortSwigger%2Fexample-event-listeners/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PortSwigger","download_url":"https://codeload.github.com/PortSwigger/example-event-listeners/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248185210,"owners_count":21061473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T23:17:56.420Z","updated_at":"2025-04-10T08:30:44.418Z","avatar_url":"https://github.com/PortSwigger.png","language":"Java","readme":"# Sample Burp Suite extension: event listeners\n\nThis extension demonstrates how to register listeners for various runtime\nevents:\n- HTTP requests and responses for all Burp tools.\n- HTTP messages intercepted by the Proxy.\n- Addition of new scan issues.\n- The extension being unloaded by the user.\n\nThe sample extension simply prints a message to its output stream when an event\noccurs.\n\nRegistering an extension state listener is particularly important for any\nextension that starts background threads or opens system resources (such as\nfiles or database connections). The extension should listen for itself being\nunloaded by the user, and should terminate any background threads or close any\nopen resources when this event occurs. This good practice enables the user to\nfully unload the extension via the Burp UI.\n\nThis repository includes source code for Java, Python and Ruby.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fportswigger%2Fexample-event-listeners","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fportswigger%2Fexample-event-listeners","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fportswigger%2Fexample-event-listeners/lists"}