Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
fix the check for whether is_url to match all the other ones in cod…
Browse files Browse the repository at this point in the history
…ebase (#3405)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
  • Loading branch information
t3chguy authored and richvdh committed Jan 6, 2019
1 parent 29f20a8 commit a27e501
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
1 change: 1 addition & 0 deletions changelog.d/3405.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix contains_url check to be consistent with other instances in code-base and check that value is an instance of string.
11 changes: 8 additions & 3 deletions synapse/api/filtering.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from six import text_type

import jsonschema
from canonicaljson import json
from jsonschema import FormatChecker
Expand Down Expand Up @@ -353,7 +355,7 @@ def check(self, event):
sender = event.user_id
room_id = None
ev_type = "m.presence"
is_url = False
contains_url = False
else:
sender = event.get("sender", None)
if not sender:
Expand All @@ -368,13 +370,16 @@ def check(self, event):

room_id = event.get("room_id", None)
ev_type = event.get("type", None)
is_url = "url" in event.get("content", {})

content = event.get("content", {})
# check if there is a string url field in the content for filtering purposes
contains_url = isinstance(content.get("url"), text_type)

return self.check_fields(
room_id,
sender,
ev_type,
is_url,
contains_url,
)

def check_fields(self, room_id, sender, event_type, contains_url):
Expand Down

0 comments on commit a27e501

Please sign in to comment.