82 Commits

Author SHA1 Message Date
Itamar Turner-Trauring
26560a4212 More passing tests on Python 3. 2021-02-02 14:25:01 -05:00
Itamar Turner-Trauring
175a3ca4bb More passing tests on Python 3. 2021-01-27 12:45:36 -05:00
Itamar Turner-Trauring
e271cd1b64 Another test passing on Python 3. 2021-01-26 10:20:15 -05:00
Itamar Turner-Trauring
58745fd373 More passing Python 3 tests. 2021-01-25 10:32:28 -05:00
Itamar Turner-Trauring
4c5ea34af6 More passing tests on Python 3. 2021-01-22 15:07:03 -05:00
Itamar Turner-Trauring
15c7af8e72 Another passing test. 2020-12-21 10:29:59 -05:00
Itamar Turner-Trauring
98c71e51e1 More progress towards passing tests. 2020-12-21 10:04:27 -05:00
Itamar Turner-Trauring
c71acf93fd Bytes, alas. 2020-12-18 16:10:23 -05:00
Itamar Turner-Trauring
b24a9f7083 Trying to get test_grid working on Python 3. 2020-12-18 11:21:04 -05:00
Jean-Paul Calderone
c31300fd0d Handle interrupted connections 2020-10-21 12:21:01 -04:00
Jean-Paul Calderone
a73a919a20 flakes 2020-10-16 10:22:42 -04:00
Jean-Paul Calderone
69c7c40510 handle Deferred from render 2020-10-16 09:51:42 -04:00
Sajith Sasidharan
199fbfcc1c Return error pages when an exception is raised in filenode 2020-09-21 13:24:01 -04:00
Sajith Sasidharan
c674198074 Rearrage imports 2020-09-21 13:03:51 -04:00
meejah
882c63dab9 methods shouldn't be named like classes 2020-04-18 01:52:18 -06:00
meejah
fc4aec7b77 remove comment 2020-04-18 01:52:18 -06:00
meejah
8c47b8e2a1 don't need object 2020-04-18 01:52:18 -06:00
meejah
f9e3fdfaee use % instead of format 2020-04-18 01:52:18 -06:00
meejah
98d8c52916 comment 2020-04-18 01:52:18 -06:00
meejah
db7939f766 irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
65ec212779 unused imports 2020-04-18 01:52:17 -06:00
meejah
203066e8fd better error-code 2020-04-18 01:52:17 -06:00
meejah
83a70bb6f3 some fixes 2020-04-18 01:52:17 -06:00
meejah
8268f764aa quote output, render GET 2020-04-18 01:52:17 -06:00
meejah
a29f1bec9d doubly-quoted 2020-04-18 01:52:17 -06:00
meejah
8f32936c7a /file works 2020-04-18 01:52:17 -06:00
meejah
c2ff7e260b more ctx -> req 2020-04-18 01:52:17 -06:00
meejah
b51f144f87 another thing works 2020-04-18 01:52:17 -06:00
tpltnt
c8f11dc2d3 ported old-style classes to new-style 2019-05-26 08:28:18 +02:00
Jean-Paul Calderone
e36c850da4 == instead of is for string comparison 2019-01-24 09:53:02 -05:00
meejah
031a88c25f simplejson -> json 2017-02-23 15:21:36 -07:00
Brian Warner
38a4acd623 Appease req.setHeader by passing bytes, not ints.
twisted.web.http.Request.setHeader() really wants a "bytes" object, but
we've been passing integers like len(body). Twisted-12.3 started to
complain about this (with a DeprecationWarning), but the warning is
usually silenced because py2.7 disables deprecations by default.

This fixes Tahoe's misbehavior, but others remain (in Nevow, at least).
I plan to set up some tooling to run tests with
PYTHONWARNINGS=default::DeprecationWarning and collect others. We won't
be able to fix the ones that occur outside of Tahoe, but at least we
should be able to fix our own.

refs ticket:2312
2015-01-21 10:31:31 -08:00
zancas
0baa744411 refactor get_filenode_metadata(...) into common.py 2014-10-10 11:19:25 -06:00
Brian Warner
5d404db898 webapi: don't allow ETags in t=info or t=rename-form, both are variable
t=info contains randomly-generated ophandles, and t=rename-form contains the
name of the child being renamed, so neither is eligible for a
short-circuiting ETag. Enhanced test_web to exercise this. Had to improve
FakeCHKFileNode slightly to let it participate. Refs #443.
2012-05-13 00:45:11 -07:00
Andrew Miller
16eddc35e8 Added unit tests covering #466:comment-15. Refactored the 'etag' behavior for immutable files to respond to all GET '?t=' flags, not just t=None
Signed-off-by: Andrew Miller <amiller@dappervision.com>
2012-05-13 00:45:11 -07:00
Jeremy Fitzhardinge
4f1bc1b387 Short circuit GET on ETags match
When client does a conditional GET/HEAD with If-none-match:, if the condition
fails (ie, the client's ETag matches the file's) then we can short-circuit
the whole process and immediately return an empty body.
2012-05-13 00:45:11 -07:00
Brian Warner
bf390cca4b Rename web CheckResults to -Renderer, to avoid confusion. Closes #1705.
This avoids the name collision between the actual results
objects (defined in allmydata.check_results) and the code that renders
these objects into HTML (defined in allmydata.web.check_results). Only
the web-side objects were renamed.
2012-04-02 20:04:51 -07:00
Brian Warner
3eb60ff986 web/filenode.py: rely on Request.notifyFinish. Closes #1366.
This is safe now that tahoe depends upon Twisted>=10.1, since notifyFinish
first appeared in Twisted-9.0
2011-10-13 13:12:19 -07:00
Brian Warner
210761cd49 misc mutable-type fixes:
* fix tahoe.cfg control of default mutable type
* tolerate arbitrary case in [client]mutable.format value
* small docs improvements
* use get_mutable_type() as a format-is-mutable predicate
* tighten up error message
2011-10-13 09:32:29 -07:00
Brian Warner
01b00dc7dc webapi: use all-caps "SDMF"/"MDMF" acronyms in t=json response
docs: upcase examples of t=json output and format= input
2011-10-13 09:31:43 -07:00
Brian Warner
dad354b275 webapi: handle format=, remove mutable-type=
* fix CLI commands (put, mkdir) to send format=, not mutable-type=
* fix tests
* test_cli: fix tests that observe t=json output, don't ignore failures in
  'tahoe put'
* fix handling of version= to make it easier to use the default
* interpret ?mutable=true&format=MDMF as MDMF, not SDMF
2011-10-13 09:29:51 -07:00
david-sarah
3d7a32647c Implementation, tests and docs for blacklists. This version allows listing directories containing a blacklisted child. Inclusion of blacklist.py fixed. fixes #1425 2011-08-24 08:59:28 -07:00
Kevan Carstensen
a9cada2e03 webapi changes for MDMF
- Learn how to create MDMF files and directories through the
      mutable-type argument.
    - Operate with the interface changes associated with MDMF and #993.
    - Learn how to do partial updates of mutable files.
2011-08-06 17:43:48 -07:00
david-sarah
23b3a2f45a src/allmydata/web/filenode.py: delete a stale comment that was made incorrect by changeset [3133]. 2011-08-01 13:30:09 -07:00
Brian Warner
44466fbb1b web/filenode.py: avoid calling req.finish() on closed HTTP connections. Closes #1366 2011-02-20 22:15:44 -08:00
Brian Warner
4b7c94ece0 downloader.Segmentation: unregisterProducer when asked to stopProducing, this
seems to avoid the #1155 log message which reveals the URI (and filecap).

Also add an [ERROR] marker to the flog entry, since unregisterProducer also
makes interrupted downloads appear "200 OK"; this makes it more obvious that
the download did not complete.
2010-08-06 00:07:05 -07:00
Jeremy Fitzhardinge
63b28d707b Improve HTTP/1.1 byterange handling
Fix parsing of a Range: header to support:
 - multiple ranges (parsed, but not returned)
 - suffix byte ranges ("-2139")
 - correct handling of incorrectly formatted range headers
   (correct behaviour is to ignore the header and return the full
    file)
 - return appropriate error for ranges outside the file

Multiple ranges are parsed, but only the first range is returned.
Returning multiple ranges requires using the multipart/byterange
content type.
2010-03-09 20:59:13 -07:00
david-sarah
6057bc02cc Prevent mutable objects from being retrieved from an immutable directory, and associated forward-compatibility improvements. 2010-01-26 22:44:30 -08:00
Brian Warner
731d15e56f hush pyflakes-0.4.0 warnings: remove trivial unused variables. For #900. 2010-01-14 14:15:29 -08:00
Brian Warner
00d0ca3902 addendum to "Fix 'tahoe ls' on files (#771)"
tahoe_ls.py: tolerate missing metadata
web/filenode.py: minor cleanups
test_cli.py: test 'tahoe ls FILECAP'
2009-12-27 18:21:49 -05:00