Gemfile 🔗
@@ -11,6 +11,8 @@ gem 'eventmachine'
gem 'goliath'
gem 'lazy_object'
gem 'log4r'
+gem 'multibases'
+gem 'multihashes'
gem 'rack', '< 2'
gem 'redis'
gem "sentry-ruby", "<= 4.3.1"
Stephen Paul Weber created
Gemfile | 2 ++
sgx-bwmsgsv2.rb | 16 ++++++++++++++--
2 files changed, 16 insertions(+), 2 deletions(-)
@@ -11,6 +11,8 @@ gem 'eventmachine'
gem 'goliath'
gem 'lazy_object'
gem 'log4r'
+gem 'multibases'
+gem 'multihashes'
gem 'rack', '< 2'
gem 'redis'
gem "sentry-ruby", "<= 4.3.1"
@@ -23,6 +23,7 @@ require 'blather/client/dsl'
require 'em-hiredis'
require 'em-http-request'
require 'json'
+require 'multihashes'
require 'securerandom'
require "sentry-ruby"
require 'time'
@@ -310,13 +311,24 @@ module SGXbwmsgsv2
end
def self.to_catapult(s, murl, num_dest, user_id, token, secret, usern)
- body = s.respond_to?(:body) ? s.body : ''
- if murl.to_s.empty? && body.to_s.strip.empty?
+ body = s.respond_to?(:body) ? s.body.to_s : ''
+ if murl.to_s.empty? && body.strip.empty?
return EMPromise.reject(
[:modify, 'policy-violation']
)
end
+ segment_size = body.ascii_only? ? 160 : 70
+ if !murl && ENV["MMS_PATH"] && body.length > segment_size*3
+ file = Multibases.pack(
+ 'base58btc',
+ Multihashes.encode(Digest::SHA256.digest(body), "sha2-256")
+ ).to_s
+ File.open("#{ENV['MMS_PATH']}/#{file}", "w") { |fh| fh.write body }
+ murl = "#{ENV['MMS_URL']}/#{file}"
+ body = ""
+ end
+
extra = {}
extra[:media] = murl if murl