| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
Run Json format verification plug-ins only if the content-type is
'application/json'.
Change-Id: Ia6e089b94cc24fbd630042414335af7ce1ccd707
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
|
| |
Add a plug-in which ensures a route's content-type header matches the
expected type for that route.
Change-Id: I3376a0e35aae22747e90d7c46680639dbfc1404d
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
Add the content_type property to indicate the content-type header for
routes.
As of now, POST and PUT expect 'application/json'.
Change-Id: Id7641189c818a2b38382edff37b204c40fb15874
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
|
|
| |
To support the 'DELETE' REST verb, the d-bus interface to be implemented
is now xyz.openbmc_project.Object.Delete, instead of
org.openbmc.Object.Delete.
Change-Id: I7ddc139d6e7e5dde04127130ea1749d9a73d34c0
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
080a48e introduces a regression where the status field is
missing from the response for non 2xx responses.
Resolves openbmc/openbmc#1246
Change-Id: Idb18b100c9ebb34275b5c24f7609748603749d58
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
| |
This patch makes the attribute after the attr
endpoint case insensitive.
Change-Id: I1c8a634bffc2eed4c63c8b89b7b5ea281c06a1bc
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
| |
Fix an issue that occurs when doing a PUT using the attr
endpoint when an object has an interface without properties.
Change-Id: Ib3b2bb81dd287365851e6a67fec0c33479fdc543
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
|
| |
Enable cross domain applications.
https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
Change-Id: Id628ae387bb422fbfc4f319ce0847966ca8cbebf
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
| |
The OPTIONS HTTP method allows clients to query the allowed methods
on a given path.
Change-Id: I762e85a6dbe2df3473dfa79c252c51ebe49c3ecb
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
| |
The HEAD method allows clients to get page response headers
without actually downloading the content.
Change-Id: Id69db83a74015df3a9f84d36f91a4a12e11ea7b6
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Bottle plugin framework only applies to normal responses.
Build on that by monkey-patching the Bottle error handler with
a new one that makes a series of callbacks.
Update the existing plugins such that where appropriate they
can apply their logic to error responses in addition to normal
responses as they already do.
Change-Id: Ifc2bac0e5120a3b0475f3b78f8bd822711f9c736
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
|
| |
Suppress traceback and provide an informative error message
when the mapper cannot respond to a query.
Resolves openbmc/openbmc#812
Change-Id: I85d4e59c5a25dc8a19fbdb1d1cf8c2a0f4350991
|
|
|
|
|
| |
Change-Id: I173aed206b4da49ca83261e4853426947f07f1f5
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
| |
Change-Id: Ie41b568aa45b1f09b0940e5ee1b3472a46b08db1
Resolves: openbmc/phosphor-rest-server#25
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
| |
Add a python-gevent startup script that takes a WSGI
application as a parameter.
Change-Id: I4c637538a1c6d4aa92563d548a2d8673299a23bb
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
|
|
| |
Provide the REST server as a python module, enabling it to be hosted
by any WSGI provider.
Provide a Rocket startup script with configurable WSGI application.
Change-Id: I1a9c25b10c33b08dfb8f60dc6c33aaf727562a9f
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
| |
Change-Id: I34dba229f66b9e6dbf38d7f3f10dff27e3a59130
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
|
|
| |
Make the Bottle part of the application get its own DBus
connection rather than passing it in.
This partially enables generic WSGI app hosting.
Change-Id: I75334f83320bf6c1cad1a6bf5f2d1d82ca8dc470
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|\
| |
| | |
Refactoring and fixes.
|
| |
| |
| |
| | |
Use the functions in the new pyphosphor library.
|
| |
| |
| |
| |
| | |
sdbus and python-dbus don't report the unknown interface
exception the same way, so add a workaround.
|
|/
|
|
|
|
| |
The functions here for enumerating a tree of objects have
utility elsewhere and were added to pyobmc so removing
the duplicated code.
|
|\
| |
| | |
Add support for serving jsonp
|
|/
|
|
|
|
|
|
|
|
|
| |
Jsonp adds a javascript wrapper to json responses. It allows client
applications to work around cross domain restrictions imposed by some
browsers. For more information on jsonp:
https://en.wikipedia.org/wiki/JSONP
To get a jsonp response, an application adds a callback url parameter
with the desired name of the wrapper:
https://192.168.252.1/list?callback=my_callback
|
|\
| |
| | |
pep8, miscellaneous rest server updates
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously using a custom enumerate interface.
This is the standard interface.
Also, try to find OM implementing objects higher up in the tree.
This improves performance for sub-tree enumerate calls.
Don't try to get properties for ObjectManager interfaces.
For whatever reason sd-bus chokes on this, but it doesn't
have any properties so it isn't needed anyway.
|
| |
| |
| |
| | |
Apache2
|
| |
| |
| |
| |
| | |
No functional changes here. Just module/package namespace updates
to use the pyobmc library.
|
|/
|
|
| |
This is all whitespace changes flagged by pep8.
|
|\
| |
| | |
Add schema endpoint
|
| |
| |
| |
| |
| | |
Navigate to /<obj>/schema to get a dbus introspection dump
of <obj>.
|
|\ \
| | |
| | | |
Handle type errors for method call parameters.
|
| |/
| |
| |
| | |
Raise a 400 rather than internal server error for type errors.
|
|\ \
| | |
| | | |
Drop number of Rocket threads to 1
|
| |/
| |
| |
| |
| |
| | |
By default Rocket creates a threadpool 8 deep which uses a fair
amount of memory. We don't need a multi-threaded server so this
patch drops the min/max to 1.
|
|\ \
| |/
|/| |
Add authentication and authorization
|
|/
|
|
|
|
|
|
| |
Use session cookie plus in-memory server sessions scheme.
Add /login /logout POST routes: {"data": ["username", "password"]}.
Add authorization plugin with arbitrary authorization callbacks.
Add valid user and user in group authorization callbacks.
Require valid user authorization for all routes (besides login/logout).
|
|\
| |
| | |
Fix lower case Delete interface element
|
|/ |
|
|\
| |
| | |
Set response type correctly for errors
|
|/
|
|
|
| |
Error response type was 'text/html' but should be
'application/json'
|
|\
| |
| | |
port rest server to bottle wsgi framework
|
| |
| |
| |
| | |
Change script, datafile, names to match package name
|
| | |
|
|/
|
|
|
|
|
|
| |
Feature parity with the old version.
Numerous bug-fixes.
Improved error responses.
Add support for delete method.
Run server on port 443.
|
|\
| |
| | |
Add self-signed cert
|
|/
|
|
| |
Eventually will be running with SSL.
|
|\
| |
| | |
Support for org.openbmc.Object.Enumerate
|
| |
| |
| |
| |
| |
| | |
This interface greatly speeds up the enumerate action by
cutting the number of dbus calls to fetch objects for a subtree
down to one.
|
| |
| |
| |
| |
| |
| | |
If someone makes a call against '/org' for instance
we die checking for the attr action because there is
only path one component to the URL.
|