Mercurial > prosody-modules
comparison mod_rest/mod_rest.lua @ 3815:1a0a612d36bc
mod_rest: Short-circuit type selection if accept header
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 01 Jan 2020 16:37:18 +0100 |
parents | 0dede5b0ab27 |
children | 8473fd2d09c1 |
comparison
equal
deleted
inserted
replaced
3814:0dede5b0ab27 | 3815:1a0a612d36bc |
---|---|
43 local supported_types = { "application/xmpp+xml", "application/json" }; | 43 local supported_types = { "application/xmpp+xml", "application/json" }; |
44 | 44 |
45 local function decide_type(accept) | 45 local function decide_type(accept) |
46 -- assumes the accept header is sorted | 46 -- assumes the accept header is sorted |
47 local ret = supported_types[1]; | 47 local ret = supported_types[1]; |
48 if not accept then | |
49 return ret; | |
50 end | |
51 for i = 2, #supported_types do | 48 for i = 2, #supported_types do |
52 if (accept:find(supported_types[i], 1, true) or 1000) < (accept:find(ret, 1, true) or 1000) then | 49 if (accept:find(supported_types[i], 1, true) or 1000) < (accept:find(ret, 1, true) or 1000) then |
53 ret = supported_types[i]; | 50 ret = supported_types[i]; |
54 end | 51 end |
55 end | 52 end |