From 57543363b38c26090512bcb6e6545e87fce58d23 Mon Sep 17 00:00:00 2001 From: bijan Date: Tue, 2 May 2023 13:43:19 +0330 Subject: [PATCH] feat: add request --- app/controllers/email_controller.rb | 32 ++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/app/controllers/email_controller.rb b/app/controllers/email_controller.rb index 3dd8115..302c36b 100644 --- a/app/controllers/email_controller.rb +++ b/app/controllers/email_controller.rb @@ -1,15 +1,41 @@ +require 'uri' +require 'net/http' + class EmailController < ApplicationController skip_before_action :verify_authenticity_token def index end def create + response = requestToNewsLetter(params[:email]) @email = Email.create(message_params) - render json: {}, status: :created + render json: response.body, status: response.code end + def requestToNewsLetter(email) + $stdout.sync = true + uri = URI('https://listmonk.bitium.agency/api/subscribers') + begin + # Set up the request + request = Net::HTTP::Post.new(uri) + request.basic_auth("newsletter", "7c221c667054e442") + request.set_form_data({ + "email": email, + "name": "Subscriber", + "lists": [ + 3 + ] + }) + response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| + http.request(request) + end + + end + return response + end +end + private def message_params params.permit(:email) - end -end + end \ No newline at end of file