public async Task <HttpResponseMessage> PostAsync(string contextId, LineItem lineItem)
        {
            try
            {
                var context = new PostLineItemContext(contextId, lineItem);

                await OnPostLineItem(context);

                return(context.StatusCode == HttpStatusCode.Created
                    ? Request.CreateResponse(context.StatusCode, context.LineItem, new LineItemFormatter(), LtiConstants.LineItemMediaType)
                    : Request.CreateResponse(context.StatusCode));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
        public async Task<HttpResponseMessage> Post(string contextId, LineItem lineItem)
        {
            try
            {
                var context = new PostLineItemContext(contextId, lineItem);

                await OnPostLineItem(context);

                return context.StatusCode == HttpStatusCode.Created
                    ? Request.CreateResponse(context.StatusCode, context.LineItem, new LineItemFormatter(), LtiConstants.LineItemMediaType) 
                    : Request.CreateResponse(context.StatusCode);
            }
            catch (Exception ex)
            {
                return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
            }
        }