post method
Fetch the given resource
from this bridge.
Will return null
if:
- The
resource
does not exist on this bridge - This bridge does not have an IP address
- This bridge does not have an application key
- The
resource
does not have any data to POST - Any other unforeseen error
Implementation
Future<Map<String, dynamic>?> post(Resource resource) async {
if (ipAddress == null) return null;
if (applicationKey == null) return null;
final Map<String, dynamic> resourceJson =
resource.toJson(optimizeFor: OptimizeFor.post);
if (resourceJson.isEmpty) return null;
String body = JsonTool.writeJson(resourceJson);
try {
return await HueHttpRepo.post(
bridgeIpAddr: ipAddress!,
pathToResource: resource.id,
applicationKey: applicationKey!,
resourceType: resource.type,
body: body,
);
} catch (_) {
return null;
}
}