kopia lustrzana https://github.com/snarfed/bridgy-fed
delete add_webmention and the /wm/ handler, it was never used
rodzic
41f26e2be3
commit
1d22ab0e94
|
@ -1,36 +0,0 @@
|
|||
"""HTTP proxy that injects our webmention endpoint.
|
||||
"""
|
||||
import datetime
|
||||
import urllib.parse
|
||||
|
||||
import flask
|
||||
from flask import request
|
||||
from oauth_dropins.webutil import flask_util, util
|
||||
from oauth_dropins.webutil.flask_util import error
|
||||
import requests
|
||||
|
||||
from app import app, cache
|
||||
import common
|
||||
|
||||
LINK_HEADER = '<%s>; rel="webmention"'
|
||||
|
||||
|
||||
@app.get(r'/wm/<path:url>')
|
||||
@flask_util.cached(cache, common.CACHE_TIME, http_5xx=True)
|
||||
def add_wm(url=None):
|
||||
"""Proxies HTTP requests and adds Link header to our webmention endpoint."""
|
||||
url = urllib.parse.unquote(url)
|
||||
if not util.is_web(url):
|
||||
error('URL must start with http:// or https://')
|
||||
|
||||
try:
|
||||
got = util.requests_get(url)
|
||||
except requests.exceptions.Timeout as e:
|
||||
error(str(e), status=504, exc_info=True)
|
||||
except requests.exceptions.RequestException as e:
|
||||
error(str(e), status=502, exc_info=True)
|
||||
|
||||
resp = flask.make_response(got.content, got.status_code, dict(got.headers))
|
||||
resp.headers.add('Link', LINK_HEADER % (request.args.get('endpoint') or
|
||||
common.host_url('webmention')))
|
||||
return resp
|
2
app.py
2
app.py
|
@ -54,4 +54,4 @@ xrpc_server = Server(lexicons, validate=False)
|
|||
init_flask(xrpc_server, app)
|
||||
|
||||
# import all modules to register their Flask handlers
|
||||
import activitypub, add_webmention, follow, pages, redirect, render, superfeedr, webfinger, webmention, xrpc_actor, xrpc_feed, xrpc_graph
|
||||
import activitypub, follow, pages, redirect, render, superfeedr, webfinger, webmention, xrpc_actor, xrpc_feed, xrpc_graph
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
# coding=utf-8
|
||||
"""Unit tests for add_webmention.py.
|
||||
"""
|
||||
from unittest import mock
|
||||
|
||||
from oauth_dropins.webutil.testutil import requests_response
|
||||
import requests
|
||||
from . import testutil
|
||||
|
||||
|
||||
@mock.patch('requests.get')
|
||||
class AddWebmentionTest(testutil.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.resp = requests_response('asdf ☕ qwert', headers={
|
||||
'Link': 'first',
|
||||
'Foo': 'bar',
|
||||
})
|
||||
|
||||
def test_get(self, mock_get):
|
||||
self.resp.status_code = 202
|
||||
mock_get.return_value = self.resp
|
||||
|
||||
got = self.client.get('/wm/http://url')
|
||||
self.assertEqual(202, got.status_code)
|
||||
self.assertEqual(self.resp._content, got.data)
|
||||
self.assertEqual(['bar'], got.headers.getlist('Foo'))
|
||||
self.assertEqual(['first', '<http://localhost/webmention>; rel="webmention"'],
|
||||
got.headers.getlist('Link'))
|
||||
|
||||
def test_endpoint_param(self, mock_get):
|
||||
mock_get.return_value = self.resp
|
||||
|
||||
got = self.client.get('/wm/http://url?endpoint=https://end/point')
|
||||
self.assertEqual(200, got.status_code)
|
||||
self.assertEqual(['first', '<https://end/point>; rel="webmention"'],
|
||||
got.headers.getlist('Link'))
|
Ładowanie…
Reference in New Issue