Crystal 0.9.1 with Kemal
require "kemal"
ws "/" do |socket|
socket.on_message do |message|
end
import java.io.UnsupportedEncodingException; | |
import java.security.InvalidAlgorithmParameterException; | |
import java.security.InvalidKeyException; | |
import java.security.NoSuchAlgorithmException; | |
import javax.crypto.BadPaddingException; | |
import javax.crypto.Cipher; | |
import javax.crypto.IllegalBlockSizeException; | |
import javax.crypto.NoSuchPaddingException; | |
import javax.crypto.spec.IvParameterSpec; | |
import javax.crypto.spec.SecretKeySpec; |
Crystal 0.9.1 with Kemal
require "kemal"
ws "/" do |socket|
socket.on_message do |message|
end
Merhaba Dünya! | |
Hello world! | |
よ世界。 |
require "http/server" | |
SOCKETS = [] of HTTP::WebSocketHandler::WebSocketSession | |
ws_handler = HTTP::WebSocketHandler.new do |socket| | |
puts "Socket opened" | |
SOCKETS << socket | |
socket.on_message do |message| | |
SOCKETS.each { |socket| socket.send "Echo back from server: #{message}" } |
require "benchmark" | |
channel = Channel(Int32).new | |
spawn do | |
loop do | |
channel.receive | |
end | |
end |
require "benchmark" | |
require "colorize" | |
require "http" | |
require "spec/dsl" | |
class String | |
private PRIME_RK = 2097169u32 | |
def index_old(search : String, offset = 0) | |
offset += size if offset < 0 |
sysctl -w fs.file-max=12000500 | |
sysctl -w fs.nr_open=20000500 | |
ulimit -n 20000000 | |
sysctl -w net.ipv4.tcp_mem='10000000 10000000 10000000' | |
sysctl -w net.ipv4.tcp_rmem='1024 4096 16384' | |
sysctl -w net.ipv4.tcp_wmem='1024 4096 16384' | |
sysctl -w net.core.rmem_max=16384 | |
sysctl -w net.core.wmem_max=16384 |
struct Upload | |
field : String | |
data : IO::Delimited | |
meta : HTTP::FormData::FileMetadata | |
headers : HTTP::Headers | |
end | |
def parse_multipart(env) | |
HTTP::FormData.parse(env.request) do |field, data, meta, headers| | |
yield Upload.new field, data, meta, headers |
require "kemal" | |
logging false | |
get "/" do | |
"Hello World!" | |
end |