using System.Net; using System.Threading.Tasks; namespace WelsonJS.Launcher { /// /// Defines a contract for resource tools that can handle specific HTTP requests. /// public interface IResourceTool { /// /// Determines whether this tool can handle the specified path. /// /// The request path to check. /// True if this tool can handle the request; otherwise, false. bool CanHandle(string path); /// /// Asynchronously processes the HTTP request for the specified path. /// /// The HTTP listener context containing request and response objects. /// The request path to handle. /// A task representing the asynchronous operation. Task HandleAsync(HttpListenerContext context, string path); } }