Browse Source

added rest api check

master
Domagoj Zecevic 3 years ago
parent
commit
00eb2c231e
  1. 2
      Dockerfile.dev
  2. 1
      check_json.sh
  3. 3
      data.json
  4. 3
      data1.json
  5. 24
      ping_engine.py

2
Dockerfile.dev

@ -19,6 +19,6 @@ RUN apk del build-deps
EXPOSE 5000 EXPOSE 5000
ENV PYTHONUNBUFFERED 1 ENV PYTHONUNBUFFERED 1
ENV TOKEN="123abc!'?" ENV TOKEN="123abc"
CMD flask --app ping_engine --debug run --host=0.0.0.0 CMD flask --app ping_engine --debug run --host=0.0.0.0

1
check_json.sh

@ -0,0 +1 @@
curl -X POST -H "Content-Type: application/json" -d @data1.json http://127.0.0.1:5000/api/?token=123abc

3
data.json

@ -0,0 +1,3 @@
{
"msg" : "This message is in a JSON File"
}

3
data1.json

@ -0,0 +1,3 @@
{
"address" : "https://jira.kbb.eu/status"
}

24
ping_engine.py

@ -2,6 +2,7 @@ from flask import Flask,request,jsonify
import os import os
import requests import requests
import datetime import datetime
import json
app = Flask(__name__) app = Flask(__name__)
@ -85,6 +86,29 @@ def https(name):
time = now, time = now,
status = status_string) status = status_string)
@app.route('/api/', methods=['POST'])
def api():
apiToken = request.args.get('token')
now = str(datetime.datetime.now())
if apiToken == token:
request_data = request.get_json()
address = request_data['address']
if address[0 : 4] == 'http':
r = requests.get(address)
try:
json.loads(r.content)
status_string=r.content
except ValueError as e:
status_string="not json"
else:
status_string = ' wrong token'
ip_addr = request.remote_addr
out = '%s - Unauthorized from IP: %s' %(now, ip_addr)
print (out)
return status_string
# return jsonify (
# time = now,
# status = status_string)
if __name__ == '__main__': if __name__ == '__main__':
app.run(debug=True) app.run(debug=True)
Loading…
Cancel
Save