I'm working on LTI, trying to build an app for Instructure Canvas (a learning management system).
I want to insert a link to the lecture content, so I sent a response to Canvas with the link as parameter. Then I got a hyperlinked text. But when I clicked it, I found out the link was prefixed with a "mailto:". How can I get rid of this "mailto:"?
var response = Request.CreateResponse(HttpStatusCode.Moved);
var link =
@"https://myClass/yinthewater@gmail/Notebooks/math";
var launch_presentation_return_url = argsDict["launch_presentation_return_url"] + "?return_type=url&url=" + link;
response.Headers.Location = new Uri(Uri.UnescapeDataString((launch_presentation_return_url)));
return response;
It looks like the "mailto:" prefix being appended to your URL is due to a bug in Canvas. After testing it against the current master branch on github it looks like it has been fixed in this github commit.
For Canvas instance hosted by Instructure they have a 3 week release cycle, where every 3 weeks new code gets deployed to beta, and the current beta gets deployed to production, more details about the release schedule can be found here: (Canvas release schedule)
If you are using a Canvas instance not hosted by Instructure, then it would be up to the host to deploy a newer version of Canvas with the fix.