public void DoPost(IManosContext ctx)
{
IHttpRequest req = ctx.Request;
var cookie = req.Cookies.Get ("apachai:userId");
long uid;
if (string.IsNullOrEmpty (cookie) || !long.TryParse (cookie, out uid) || !store.DoWeKnowUser (uid)) {
ctx.Response.Redirect ("/Login");
return;
}
var twittertext = System.Web.HttpUtility.HtmlDecode (req.PostData.GetString ("twittertext"));
var effect = req.PostData.GetString ("effect");
if (req.Files.Count == 0) {
Log.Debug ("No file received");
ctx.Response.Redirect ("/Post?error=1");
return;
}
var file = req.Files.Values.First ().Contents;
if (!CheckImageType (file)) {
ctx.Response.Redirect ("/Post?error=1");
return;
}
HandleUploadedFile (file, uid.ToString (), effect)
.ContinueWith (cont => DoPictureTasks (ctx, cont.Result, uid, twittertext), ExecuteSync);
}