<cfscript>

	// If the form has been submitted, push a Message onto the List.
	// --
	// NOTE: Each list item is a String that represents a serialized object.
	if ( form.keyExists( "message" ) && form.message.len() ) {

		listItem = {
			"id": createUUID().lcase(),
			"message": form.message,
			"createdAt": getTickCount()
		};

		request.withRedis(
			( redis ) => {

				redis.rpush( "list:messages", [ serializeJson( listItem ) ] );

			}
		);

	}

</cfscript>
<cfoutput>

	<!doctype html>
	<html lang="en">
	<head>
		<meta charset="utf-8" />

		<title>
			Post a Message
		</title>

		<link rel="stylesheet" type="text/css" href="./styles.css" />
	</head>
	<body>

		<h1>
			Post a Message
		</h1>

		<form method="post" action="#cgi.script_name#">

			<strong>Message:</strong><br />
			<input type="text" name="message" autofocus size="30" />
			<button type="submit">
				Post
			</button>

		</form>

	</body>
	</html>

</cfoutput>