courses/DSL/clicks-service/main.py (22 lines of code) (raw):
import os
import json
import base64
from flask import Flask, request
# Initialize Flask app
app = Flask(__name__)
@app.route('/', methods=['GET'])
def main():
return 'OK', 200
# Route to receive messages from Pub/Sub
@app.route('/process', methods=['POST'])
def receive_message():
envelope = request.get_json()
if not envelope:
return 'Bad Request: No message received', 400
message = envelope.get('message')
if not message:
return 'Bad Request: Invalid message format', 400
message_data = message.get('data')
decoded_message_data = base64.b64decode(message_data).decode('utf-8')
print(f'decoded_message_data: {decoded_message_data}')
return 'OK', 200
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=int(os.environ.get('PORT', 8080)))