// File: /workspace/github_cpp_makefile_star2_O2/enbock[P]Warp10Server/warp10server/src/WebService.cpp
// Function: Warp10::WebService::onRequest(u::Object*)
void WebService::onRequest(Object* arg)
{
	Network::WebEvent* event  = ((Network::WebEvent*)arg);
	WebConnection* connection = ((WebConnection*)event->connection);

	connection->removeEventListener(
		WebEvent::REQUEST,
		Callback(this, cb_cast(&WebService::onRequest))
	);
	
	trace(
		this->className() + "::onRequest: Incoming request: " 
		+ "Method: '" + event->request.method
		+ "'\tResource: '" + event->request.resource + "'"
	);

	event->destroy();

	// DUMMY
	u::Network::Event close(u::Network::Event::CLOSE);
	connection->dispatchEvent(&close);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rsi, %r14
movq %rdi, %r12
movq 0x48(%rsi), %rbx
leaq 0x180(%rsp), %r15
pushq $0x49
popq %rdx
movq %r15, %rdi
movq %r12, %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x409b80
movq $0x64d850, %rsi         # imm = 0x64D850
movq %rbx, %rdi
movq %r15, %rdx
callq 0x40ac48
leaq 0x180(%rsp), %rdi
callq 0x40c544
movq $0x64ec20, %rdi         # imm = 0x64EC20
leaq 0x1c0a13(%rip), %rsi    # 0x5c7091
callq 0x489b70
movq %rax, %r15
movq (%r12), %rax
leaq 0xc8(%rsp), %rdi
movq %r12, %rsi
callq *0x8(%rax)
leaq 0x100(%rsp), %rsi
leaq 0x1c0bb1(%rip), %rdx    # 0x5c7258
leaq 0x8(%rsp), %rdi
callq 0x405349
leaq 0x1c0bc0(%rip), %rdx    # 0x5c7278
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x405349
leaq 0xc0(%r14), %rdx
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x4068ac
leaq 0x1c0b9e(%rip), %rdx    # 0x5c7282
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x405349
leaq 0x118(%r14), %rdx
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x4068ac
leaq 0x1c0b6d(%rip), %rdx    # 0x5c7280
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x405349
leaq 0xa8(%rsp), %rsi
movq %r15, %rdi
callq 0x49c3f0
leaq 0x1c096c(%rip), %rsi    # 0x5c70ab
movq %rax, %rdi
callq 0x489b70
movq %rax, %rdi
callq 0x489450
leaq 0xa8(%rsp), %rdi
callq 0x499a70
leaq 0x88(%rsp), %rdi
callq 0x499a70
leaq 0x68(%rsp), %rdi
callq 0x499a70
leaq 0x48(%rsp), %rdi
callq 0x499a70
leaq 0x28(%rsp), %rdi
callq 0x499a70
leaq 0x8(%rsp), %rdi
callq 0x499a70
leaq 0xc8(%rsp), %rdi
callq 0x4050e8
movq (%r14), %rax
movq %r14, %rdi
callq *(%rax)
movq $0x64dbe8, %rsi         # imm = 0x64DBE8
leaq 0xc8(%rsp), %r14
movq %r14, %rdi
callq 0x40ffe2
movq %rbx, %rdi
movq %r14, %rsi
callq 0x40ad2c
leaq 0xc8(%rsp), %rdi
callq 0x4100e2
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0x4100e2
jmp 0x40687b
movq %rax, %rbx
jmp 0x406839
movq %rax, %rbx
jmp 0x406846
movq %rax, %rbx
jmp 0x406850
movq %rax, %rbx
jmp 0x40685a
movq %rax, %rbx
jmp 0x406864
movq %rax, %rbx
jmp 0x40686e
movq %rax, %rbx
leaq 0x180(%rsp), %rdi
callq 0x40c544
jmp 0x40687b
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0x499a70
leaq 0x88(%rsp), %rdi
callq 0x499a70
leaq 0x68(%rsp), %rdi
callq 0x499a70
leaq 0x48(%rsp), %rdi
callq 0x499a70
leaq 0x28(%rsp), %rdi
callq 0x499a70
leaq 0x8(%rsp), %rdi
callq 0x499a70
leaq 0xc8(%rsp), %rdi
callq 0x4050e8
movq %rbx, %rdi
callq 0x4ca950