Fully qualified view_href not coming through in HTTPS endpoint
I'm creating an Endpoint that simulates an RSS feed for featured topics in certain board/categories. Using the v2 API, I'm using the message.view_href property to populate the <link> field. That works perfect when the endpoint is called using HTTP. But when using HTTPS, the view_href field is missing the site address, and returning just the relative URL.
For now, I've kluged it so that I append the base site URL when using https. But...why? What am I missing?
Here's my code.
<?xml version="1.0" encoding="UTF-8"?> <#-- Endpoint to serve the most recent featured topics --> <#-- Specify either category= OR board= on URL --> <#assign category = http.request.parameters.name.get("category", "sas_programming")/> <#assign board = http.request.parameters.name.get("board", "")/> <#assign size= http.request.parameters.name.get("size", "5")/> <#assign root=""/> <#if (http.request.ssl == true)> <#assign root="https://communities.sas.com"/> </#if> <#if (board)?has_content> <#assign messages = rest("2.0", "/search?q=" + "SELECT * FROM messages WHERE depth=0 AND board.id = '${board}' and conversation.featured=true ORDER BY post_time DESC LIMIT ${size}"?url )/> <#else> <#assign messages = rest("2.0", "/search?q=" + "SELECT * FROM messages WHERE depth=0 AND category.id = '${category}' and conversation.featured=true ORDER BY post_time DESC LIMIT ${size}"?url )/> </#if> <rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0"> <channel> <title>Featured content from SAS Support Communities</title> <link>https://communities.sas.com</link> <description>These featured topics are the most recent from SAS Support Communities</description> <#if messages.data.items?has_content> <#list messages.data.items as message> <item> <title>${message.subject}</title> <link>${root}${message.view_href}</link> <description>${message.body?html}</description> <guid>${root}${message.view_href}</guid> <pubDate>${message.post_time?datetime?string["EEE, MMM dd yyyy HH:mm:ss +0000"]}</pubDate> </item> </#list> </#if> </channel> </rss>
Example endpoint call:
Thanks for any tips,
Chris
This looks like a bug, but we still need to investigate this further. It looks like you have a good workaround in place. Please file a support case if you would like to get status updates on when this gets fixed.
-Doug