1. 30 Aug, 2002 4 commits
    • Casey Duncan's avatar
      Added an argument to pass error_log_url into raise_standardErrorMessage since... · 3ee88cbf
      Casey Duncan authored
      Added an argument to pass error_log_url into raise_standardErrorMessage since logging is now done above it.
      3ee88cbf
    • Casey Duncan's avatar
      After further investigation I found that my change to SimpleItem to sniff the... · 98d3e112
      Casey Duncan authored
      After further investigation I found that my change to SimpleItem to sniff the response._error_format was unnecessary (although harmless) since Zope/__init__.py already does this. This check has been removed.
      
      And since error logging was being done in SimpleItem, my previous change prevented xml-rpc exceptions from being logged.
      
      The logging code has now been moved into the Zope/__init__ top-level exception handler to correct this problem. This also seems generally more correct since we no longer rely on SimpleItem to do-the-right-thing.
      98d3e112
    • Casey Duncan's avatar
      Refactored error message handling so that SimpleItem's... · 9a5d2b7c
      Casey Duncan authored
      Refactored error message handling so that SimpleItem's raise_standardErrorMessage sniffs the response to see if it wants an html encoded error message or not.
      
      If so, then standard_error_message is rendered as usual as the error value. Otherwise the error value text is passed through unchanged.
      
      XML-RPC responses now request text/plain error format so that standard_error_message is not envoked to render the fault string. Because of this, the previous formatting code could be removed, although html tags are still stripped because error values themselves sometimes contain tags 8^/
      9a5d2b7c
    • Casey Duncan's avatar
      Improved error output for xmlrpc faults · 452178ae
      Casey Duncan authored
       - Value is stripped of HTML tags and minimally formatted
      
       - In debug mode, a full traceback is included in the fault string
      452178ae
  2. 29 Aug, 2002 10 commits
  3. 28 Aug, 2002 8 commits
    • Chris McDonough's avatar
      *** empty log message *** · 7673dfc9
      Chris McDonough authored
      7673dfc9
    • Chris McDonough's avatar
    • Barry Warsaw's avatar
      Code cleanup. · 042f0abc
      Barry Warsaw authored
      042f0abc
    • Barry Warsaw's avatar
      41409b00
    • Barry Warsaw's avatar
      The sematics of object serial numbers across abortVersions has · 9933d242
      Barry Warsaw authored
      (finally) been defined: the serial number of objects in the
      non-version after an abortVersion should be the last serial number of
      the object before it was modified in the version.
      
      This actually breaks the symmetry between serial numbers and
      transaction ids, so it must be handled specially.
      
      Specific changes include:
      
      _setupDBs(): Updated documentation.
      
      _finish(): Recognize the 'a' opcode, which is subtly different than
      the 'o' opcode.  When the 'a' opcode is seen, we'll store both the
      "live revision id" and the current transaction id in the _serials
      table.  The former id is the serial number of the last change to the
      non-version data.  If we're seeing the 'o' or 'x' opcodes, we'll save
      None as the serial number, which tells the loop at the end of the
      function that the object serial number and the transaction id are the
      same (overwhelmingly, the most common case).
      
      When serial# <> tid, we'll concatenate the two values together into
      serial+tid as the value of the _serials's oid key.  So the value can
      now be an 8-byte string (the common case), or a 16-byte string when
      serial# <> tid.
      
      _getSerialAndTid(): A new function which returns a 2-tuple of the
      oid's current serial number and the tid of the last transaction that
      modified the object.  Usually these are the same, but in the face of
      abortVersion, they're not.
      
      _getSerialAndTidMissingOk(): Like _getSerialAndTid() but if the oid
      isn't in the _serials table, return (None, None) instead of raising a
      KeyError.  Sometimes we need different table access semantics.
      
      abortVersion(), commitVersion(), modifiedInVersion(), load(),
      getSerial(), transactionalUndo(), history(), _dopack(): Use the new
      _getSerialAndTid() access method to get the serial# and tid for the
      last object modification, instead of accessing the _serials table
      directly.
      
      store(), _rootreachable(): Use _getSerialAndTidMissingOk()
      9933d242
    • Barry Warsaw's avatar
      write_nonversion_object(): This method is used to record abortVersions · 77c8d867
      Barry Warsaw authored
      and it is subtly different than the `o' opcode.  The serial number of
      objects in the non-version after an abortVersion should be the last
      serial number of the object before it was modified in the version.
      
      This actually breaks the symmetry between serial numbers and
      transaction ids, so it must be handled specially.
      77c8d867
    • Andy McKay's avatar
    • Andy McKay's avatar
      fbfa7448
  4. 27 Aug, 2002 1 commit
  5. 26 Aug, 2002 5 commits
  6. 23 Aug, 2002 9 commits
  7. 22 Aug, 2002 3 commits