mirror of
				https://github.com/checktheroads/hyperglass
				synced 2024-05-11 05:55:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			726 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			726 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""Session handler for Slack API."""
 | 
						|
 | 
						|
# Project
 | 
						|
from hyperglass.log import log
 | 
						|
from hyperglass.external._base import BaseExternal
 | 
						|
from hyperglass.models.webhook import Webhook
 | 
						|
 | 
						|
 | 
						|
class SlackHook(BaseExternal, name="Slack"):
 | 
						|
    """Slack session handler."""
 | 
						|
 | 
						|
    def __init__(self, config):
 | 
						|
        """Initialize external base class with Slack connection details."""
 | 
						|
 | 
						|
        super().__init__(base_url="https://hooks.slack.com", config=config, parse=False)
 | 
						|
 | 
						|
    async def send(self, query):
 | 
						|
        """Send an incoming webhook to Slack."""
 | 
						|
 | 
						|
        payload = Webhook(**query)
 | 
						|
 | 
						|
        log.debug("Sending query data to Slack:\n{}", payload)
 | 
						|
 | 
						|
        return await self._apost(endpoint=self.config.host.path, data=payload.slack())
 |