Exemplo n.º 1
0
    def render_PUT(self, request):
        storageToken = self.storageTokenForRequest(request)
        if not storageToken:
            return http403(request)
        log.msg("Storage PUT: " + storageToken)

        target = open(path.join(DataStore.storagePath, storageToken), 'wb')
        while True:
            buf = request.content.read(self.copyBufSize)
            if not buf:
                break
            target.write(buf)

        target.close()
        return ''
Exemplo n.º 2
0
    def render_PUT(self, request):
        storageToken = self.storageTokenForRequest(request)
        if not storageToken:
            return http403(request)
        log.msg("Storage PUT: " + storageToken)

        target = open(path.join(DataStore.storagePath, storageToken), "wb")
        while True:
            buf = request.content.read(self.copyBufSize)
            if not buf:
                break
            target.write(buf)

        target.close()
        return ""
Exemplo n.º 3
0
    def render_GET(self, request):
        storageToken = self.storageTokenForRequest(request)
        if not storageToken:
            return http403(request)
        log.msg("Storage GET: " + storageToken)

        # get Range header, remove leading bytes=
        range = request.requestHeaders.getRawHeaders('Range')[0][6:]
        rangeBegin, rangeEnd = range.split('-')

        try:
            fp = open(path.join(DataStore.storagePath, storageToken), 'rb')
        except IOError, e:
            if e.errno == 2:
                log.err('Storage GET: Not found: ' + storageToken)
                return http404(request)
            raise e
Exemplo n.º 4
0
    def render_GET(self, request):
        storageToken = self.storageTokenForRequest(request)
        if not storageToken:
            return http403(request)
        log.msg("Storage GET: " + storageToken)

        # get Range header, remove leading bytes=
        range = request.requestHeaders.getRawHeaders("Range")[0][6:]
        rangeBegin, rangeEnd = range.split("-")

        try:
            fp = open(path.join(DataStore.storagePath, storageToken), "rb")
        except IOError, e:
            if e.errno == 2:
                log.err("Storage GET: Not found: " + storageToken)
                return http404(request)
            raise e