// File: alfanick[P]rest-cpp/src/rest/response.cpp
// Function: REST::Response::cache(unsigned long)
void Response::cache(unsigned long t) {
  if (t > 0) {
    headers["Cache-Control"] = "max-age=" + std::to_string(t) + ", public";
    headers["Expires"] = REST::Utils::rfc1123_datetime(time(0) + t);
  } else {
    headers["Cache-Control"] = "no-cache, no-store, must-revalidate";
  }
}

// Assembly:
subq $0x178, %rsp            # imm = 0x178
movq %rdi, 0x170(%rsp)
movq %rsi, 0x168(%rsp)
movq 0x170(%rsp), %rax
movq %rax, 0x58(%rsp)
cmpq $0x0, 0x168(%rsp)
jbe 0xddb37
movq 0x168(%rsp), %rsi
leaq 0x108(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x8ed70
movq 0x50(%rsp), %rdx
leaq 0x9439(%rip), %rsi      # 0xe6cf2
leaq 0x128(%rsp), %rdi
callq 0x97a00
jmp 0xdd8c8
leaq 0x942c(%rip), %rdx      # 0xe6cfb
leaq 0x148(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x8df90
jmp 0xdd8e6
movq 0x58(%rsp), %rax
addq $0x48, %rax
movq %rax, 0x40(%rsp)
leaq 0xd7(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x98200
movq 0x48(%rsp), %rdx
leaq 0x93f2(%rip), %rsi      # 0xe6d04
leaq 0xd8(%rsp), %rdi
callq 0x95700
jmp 0xdd921
movq 0x40(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
callq 0x98d00
movq %rax, 0x38(%rsp)
jmp 0xdd93a
movq 0x38(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movq %rsi, 0x20(%rsp)
callq 0x94870
leaq 0xd8(%rsp), %rdi
callq 0x99830
leaq 0xd7(%rsp), %rdi
callq 0x938a0
movq 0x20(%rsp), %rdi
callq 0x99830
leaq 0x128(%rsp), %rdi
callq 0x99830
leaq 0x108(%rsp), %rdi
callq 0x99830
xorl %eax, %eax
movl %eax, %edi
callq 0x92a80
movq %rax, %rsi
movq 0x168(%rsp), %rax
addq %rax, %rsi
leaq 0xb0(%rsp), %rdi
callq 0x92ba0
movq 0x58(%rsp), %rax
addq $0x48, %rax
movq %rax, 0x28(%rsp)
leaq 0x8f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x98200
movq 0x30(%rsp), %rdx
leaq 0x9333(%rip), %rsi      # 0xe6d12
leaq 0x90(%rsp), %rdi
callq 0x95700
jmp 0xdd9ee
movq 0x28(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x98d00
movq %rax, 0x18(%rsp)
jmp 0xdda07
movq 0x18(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x94870
leaq 0x90(%rsp), %rdi
callq 0x99830
leaq 0x8f(%rsp), %rdi
callq 0x938a0
leaq 0xb0(%rsp), %rdi
callq 0x99830
jmp 0xddbe9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
jmp 0xddacf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
jmp 0xddac2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
jmp 0xddaa8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
leaq 0xd8(%rsp), %rdi
callq 0x99830
leaq 0xd7(%rsp), %rdi
callq 0x938a0
leaq 0x148(%rsp), %rdi
callq 0x99830
leaq 0x128(%rsp), %rdi
callq 0x99830
leaq 0x108(%rsp), %rdi
callq 0x99830
jmp 0xddbf1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
jmp 0xddb18
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
leaq 0x90(%rsp), %rdi
callq 0x99830
leaq 0x8f(%rsp), %rdi
callq 0x938a0
leaq 0xb0(%rsp), %rdi
callq 0x99830
jmp 0xddbf1
movq 0x58(%rsp), %rax
addq $0x48, %rax
movq %rax, 0x8(%rsp)
leaq 0x67(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x98200
movq 0x10(%rsp), %rdx
leaq 0x91a4(%rip), %rsi      # 0xe6d04
leaq 0x68(%rsp), %rdi
callq 0x95700
jmp 0xddb6c
movq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x98d00
movq %rax, (%rsp)
jmp 0xddb81
movq (%rsp), %rdi
leaq 0x918e(%rip), %rsi      # 0xe6d1a
callq 0x955e0
jmp 0xddb93
leaq 0x68(%rsp), %rdi
callq 0x99830
leaq 0x67(%rsp), %rdi
callq 0x938a0
jmp 0xddbe9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
jmp 0xddbdd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
leaq 0x68(%rsp), %rdi
callq 0x99830
leaq 0x67(%rsp), %rdi
callq 0x938a0
jmp 0xddbf1
addq $0x178, %rsp            # imm = 0x178
retq
movq 0x100(%rsp), %rdi
callq 0x981c0
nop