mirror of https://github.com/docusealco/docuseal
				
				
				
			
							parent
							
								
									d52c57df72
								
							
						
					
					
						commit
						4dc325a6bb
					
				| @ -0,0 +1,26 @@ | ||||
| # frozen_string_literal: true | ||||
| 
 | ||||
| module SendWebhookRequest | ||||
|   USER_AGENT = 'DocuSeal.com Webhook' | ||||
| 
 | ||||
|   module_function | ||||
| 
 | ||||
|   def call(webhook_url, event_type:, data:) | ||||
|     Faraday.post(webhook_url.url) do |req| | ||||
|       req.headers['Content-Type'] = 'application/json' | ||||
|       req.headers['User-Agent'] = USER_AGENT | ||||
|       req.headers.merge!(webhook_url.secret.to_h) if webhook_url.secret.present? | ||||
| 
 | ||||
|       req.body = { | ||||
|         event_type: event_type, | ||||
|         timestamp: Time.current, | ||||
|         data: data | ||||
|       }.to_json | ||||
| 
 | ||||
|       req.options.read_timeout = 8 | ||||
|       req.options.open_timeout = 8 | ||||
|     end | ||||
|   rescue Faraday::Error | ||||
|     nil | ||||
|   end | ||||
| end | ||||
					Loading…
					
					
				
		Reference in new issue