示例#1
0
import os

import bjoern
from flask import Flask
from flask_restful import Api

from resources.BinResources import BinResource
from resources.BinV2Resource import BinV2Resource
from resources.BinLikesResource import BinLikesResource
from resources.BinViewsResource import BinViewsResource
from tentalog import Tentacle

from resources.StatsResource import StatsResource

logger = Tentacle().logger

__author__ = "@NextBlu core team"

app = Flask(__name__)
api = Api(app)


@app.after_request
def after_request(response):
    response.headers.add("Access-Control-Allow-Origin", "*")
    response.headers.add("Access-Control-Allow-Headers",
                         "Content-Type, Authorization")
    response.headers.add("Access-Control-Allow-Methods",
                         "GET,PUT,POST,DELETE,PATCH,OPTIONS")
    return response
示例#2
0
#  Copyright (c) 2020 NextBlu systems - - All Rights Reserved.
#   * MIT License
#   * Written by Mattia Failla <*****@*****.**>, May 2020
#   """

import gzip
import json
import random
import string

from flask import request
from flask_restful import Resource, original_flask_make_response
from tentalog import Tentacle
from modules.bin import Bin

logger = Tentacle().logger


class BinResource(Resource):
    def get(self, slug):
        logger.info(f"Requested Bin with slug {slug}")
        data = Bin().get_bin_legacy(slug)
        response_payload = {"success": True, "resource": data}
        # gzipping the data
        content = gzip.compress(
            json.dumps(response_payload, indent=4, sort_keys=True,
                       default=str).encode('utf-8'), 9)
        response = original_flask_make_response(content)
        response.headers['Content-Encoding'] = 'gzip'
        return response