Skip to content

Instantly share code, notes, and snippets.

@timsneath
Created August 7, 2018 21:39
Show Gist options
  • Select an option

  • Save timsneath/78652851953a6751703d653256731f19 to your computer and use it in GitHub Desktop.

Select an option

Save timsneath/78652851953a6751703d653256731f19 to your computer and use it in GitHub Desktop.
$ aqueduct document client
-- Aqueduct CLI Version: 3.0.0
-- Aqueduct project version: 3.0.0
*** Uncaught error
[Bad state: Invalid documenter 'HeroesController'. Reached end of controller chain and found no operations. Path has summary 'null'., #0 Controller.documentOperations (package:aqueduct/src/http/controller.dart:307:9)
#1 Controller.documentOperations (package:aqueduct/src/http/controller.dart:313:28)
#2 _RouteController.documentPaths.<anonymous closure> (package:aqueduct/src/http/router.dart:219:27)
#3 _ListBase&Object&ListMixin.fold (dart:collection/list.dart:218:22)
#4 _RouteController.documentPaths (package:aqueduct/src/http/router.dart:195:27)
#5 Router.documentPaths.<anonymous closure> (package:aqueduct/src/http/router.dart:145:24)
#6 _ListBase&Object&ListMixin.fold (dart:collection/list.dart:218:22)
#7 Router.documentPaths (package:aqueduct/src/http/router.dart:144:30)
#8 ApplicationChannel.documentAPI (package:aqueduct/src/application/channel.dart:169:22)
<asynchronous suspension>
#9 Application.document (package:aqueduct/src/application/application.dart:167:38)
<asynchronous suspension>
#10 OpenAPIBuilder.execute (data:application/dart;charset=utf-8,import%20'dart%3Aasync'%3B%0Aimport%20'dart%3Aisolate'%3B%0Aimport%20'dart%3Amirrors'%3B%0Aimport%20'package%3Aaqueduct%2Faqueduct.dart'%3B%0Aimport%20'package%3Aheroes%2Fheroes.dart'%3B%0Aimport%20'package%3Ayaml%2Fyaml.dart'%3B%0Aimport%20'package%3Aaqueduct%2Fsrc%2Futilities%2Fdocumented_element.dart'%3B%0Aimport%20'package%3Aaqueduct%2Fsrc%2Futilities%2Fdocumented_element_analyzer_bridge.dart'%3B%0Aimport%20'dart%3Aconvert'%3B%0Aimport%20'dart%3Aio'%3B%0AFuture%20main%20(List%3CString%3E%20args%2C%20Map%3CString%2C%20dynamic%3E%20message)%20async%20%7B%0A%20%20final%20sendPort%20%3D%20message%5B'_sendPort'%5D%3B%0A%20%20final%20executable%20%3D%20new%20OpenAPIBuilder(message)%3B%0A%20%20final%20result%20%3D%20await%20executable.execute()%3B%0A%20%20sendPort.send(%7B%22_result%22%3A%20result%7D)%3B%0A%7D%0A%20%20%20%20%0Aclass%20OpenAPIBuilder%20extends%20Executable%3CMap%3CString%2C%20dynamic%3E%3E%20%7BOpenAPIBuilder(Map%3CString%2C%20dynamic%3E%20message)%20%3A%20pubspecContents%20%3D%20message%5B%22pubspec%22%5D%20as%20String%2C%20configPath%20%3D%20message%5B%22configPath%22%5D%20as%20String%2C%20title%20%3D%20message%5B%22title%22%5D%20as%20String%2C%20description%20%3D%20message%5B%22description%22%5D%20as%20String%2C%20version%20%3D%20message%5B%22version%22%5D%20as%20String%2C%20termsOfServiceURL%20%3D%20message%5B%22termsOfServiceURL%22%5D%20!%3D%20null%20%3F%20Uri.parse(message%5B%22termsOfServiceURL%22%5D%20as%20String)%20%3A%20null%2C%20contactEmail%20%3D%20message%5B%22contactEmail%22%5D%20as%20String%2C%20contactName%20%3D%20message%5B%22contactName%22%5D%20as%20String%2C%20contactURL%20%3D%20message%5B%22contactURL%22%5D%20!%3D%20null%20%3F%20Uri.parse(message%5B%22contactURL%22%5D%20as%20String)%20%3A%20null%2C%20licenseURL%20%3D%20message%5B%22licenseURL%22%5D%20!%3D%20null%20%3F%20Uri.parse(message%5B%22licenseURL%22%5D%20as%20String)%20%3A%20null%2C%20licenseName%20%3D%20message%5B%22licenseName%22%5D%20as%20String%2C%20hosts%20%3D%20(message%5B%22hosts%22%5D%20as%20List%3CString%3E)%3F.map((uri)%20%3D%3E%20APIServerDescription(Uri.parse(uri)))%3F.toList()%20%3F%3F%20%5B%5D%2C%20super(message)%3B%20OpenAPIBuilder.input(Map%3CString%2C%20dynamic%3E%20variables)%20%3A%20super(variables)%3B%20String%20pubspecContents%3B%20String%20configPath%3B%20String%20title%3B%20String%20description%3B%20String%20version%3B%20Uri%20termsOfServiceURL%3B%20String%20contactEmail%3B%20String%20contactName%3B%20Uri%20contactURL%3B%20Uri%20licenseURL%3B%20String%20licenseName%3B%20List%3CAPIServerDescription%3E%20hosts%3B%20%40override%20Future%3CMap%3CString%2C%20dynamic%3E%3E%20execute()%20async%20%7BDocumentedElement.provider%20%3D%20AnalyzerDocumentedElementProvider()%3B%20var%20config%20%3D%20ApplicationOptions()..configurationFilePath%20%3D%20configPath%3B%20final%20yaml%20%3D%20(loadYaml(pubspecContents)%20as%20Map%3Cdynamic%2C%20dynamic%3E).cast%3CString%2C%20dynamic%3E()%3B%20var%20document%20%3D%20await%20Application.document(ApplicationChannel.defaultType%2C%20config%2C%20yaml)%3B%20document.servers%20%3D%20hosts%3B%20if%20(title%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.title%20%3D%20title%3B%7D%20if%20(description%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.description%20%3D%20description%3B%7D%20if%20(version%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.version%20%3D%20version%3B%7D%20if%20(termsOfServiceURL%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.termsOfServiceURL%20%3D%20termsOfServiceURL%3B%7D%20if%20(contactEmail%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.contact%20%3F%3F%3D%20APIContact.empty()%3B%20document.info.contact.email%20%3D%20contactEmail%3B%7D%20if%20(contactName%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.contact%20%3F%3F%3D%20APIContact.empty()%3B%20document.info.contact.name%20%3D%20contactName%3B%7D%20if%20(contactURL%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.contact%20%3F%3F%3D%20APIContact.empty()%3B%20document.info.contact.url%20%3D%20contactURL%3B%7D%20if%20(licenseURL%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.license%20%3F%3F%3D%20APILicense.empty()%3B%20document.info.license.url%20%3D%20licenseURL%3B%7D%20if%20(licenseName%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.license%20%3F%3F%3D%20APILicense.empty()%3B%20document.info.license.name%20%3D%20licenseName%3B%7D%20return%20document.asMap()%3B%7D%20static%20List%3CString%3E%20importsForPackage(String%20packageName)%20%3D%3E%20%5B%22package%3Aaqueduct%2Faqueduct.dart%22%2C%20%22package%3A%24packageName%2F%24packageName.dart%22%2C%20%22package%3Ayaml%2Fyaml.dart%22%2C%20%22package%3Aaqueduct%2Fsrc%2Futilities%2Fdocumented_element.dart%22%2C%20%22package%3Aaqueduct%2Fsrc%2Futilities%2Fdocumented_element_analyzer_bridge.dart%22%2C%20%22dart%3Aconvert%22%2C%20%22dart%3Aio%22%5D%3B%7D%0Aabstract%20class%20Executable%3CT%3E%20%7BExecutable(this.message)%20%3A%20_sendPort%20%3D%20message%5B%22_sendPort%22%5D%3B%20Future%3CT%3E%20execute()%3B%20final%20Map%3CString%2C%20dynamic%3E%20message%3B%20final%20SendPort%20_sendPort%3B%20U%20instanceOf%3CU%3E(String%20typeName%2C%20%7BList%20positionalArguments%3A%20const%20%5B%5D%2C%20Map%3CSymbol%2C%20dynamic%3E%20namedArguments%2C%20Symbol%20constructorName%7D)%20%7BClassMirror%20typeMirror%20%3D%20currentMirrorSystem().isolate.rootLibrary.declarations%5Bnew%20Symbol(typeName)%5D%3B%20if%20(typeMirror%20%3D%3D%20null)%20%7BtypeMirror%20%3D%20currentMirrorSystem().libraries.values.where((lib)%20%3D%3E%20lib.uri.scheme%20%3D%3D%20%22package%22%20%7C%7C%20lib.uri.scheme%20%3D%3D%20%22file%22).expand((lib)%20%3D%3E%20lib.declarations.values).firstWhere((decl)%20%3D%3E%20decl%20is%20ClassMirror%20%26%26%20MirrorSystem.getName(decl.simpleName)%20%3D%3D%20typeName%2C%20orElse%3A%20()%20%3D%3E%20throw%20new%20ArgumentError(%22Unknown%20type%20'%24typeName'.%20Did%20you%20forget%20to%20import%20it%3F%22))%3B%7D%20return%20typeMirror.newInstance(constructorName%20%3F%3F%20const%20Symbol(%22%22)%2C%20positionalArguments%2C%20namedArguments).reflectee%20as%20U%3B%7D%20void%20send(dynamic%20message)%20%7B_sendPort.send(message)%3B%7D%20void%20log(String%20message)%20%7B_sendPort.send(%7B%22_line_%22%20%3A%20message%7D)%3B%7D%7D%0A:18:1545)
<asynchronous suspension>
#11 main (data:application/dart;charset=utf-8,import%20'dart%3Aasync'%3B%0Aimport%20'dart%3Aisolate'%3B%0Aimport%20'dart%3Amirrors'%3B%0Aimport%20'package%3Aaqueduct%2Faqueduct.dart'%3B%0Aimport%20'package%3Aheroes%2Fheroes.dart'%3B%0Aimport%20'package%3Ayaml%2Fyaml.dart'%3B%0Aimport%20'package%3Aaqueduct%2Fsrc%2Futilities%2Fdocumented_element.dart'%3B%0Aimport%20'package%3Aaqueduct%2Fsrc%2Futilities%2Fdocumented_element_analyzer_bridge.dart'%3B%0Aimport%20'dart%3Aconvert'%3B%0Aimport%20'dart%3Aio'%3B%0AFuture%20main%20(List%3CString%3E%20args%2C%20Map%3CString%2C%20dynamic%3E%20message)%20async%20%7B%0A%20%20final%20sendPort%20%3D%20message%5B'_sendPort'%5D%3B%0A%20%20final%20executable%20%3D%20new%20OpenAPIBuilder(message)%3B%0A%20%20final%20result%20%3D%20await%20executable.execute()%3B%0A%20%20sendPort.send(%7B%22_result%22%3A%20result%7D)%3B%0A%7D%0A%20%20%20%20%0Aclass%20OpenAPIBuilder%20extends%20Executable%3CMap%3CString%2C%20dynamic%3E%3E%20%7BOpenAPIBuilder(Map%3CString%2C%20dynamic%3E%20message)%20%3A%20pubspecContents%20%3D%20message%5B%22pubspec%22%5D%20as%20String%2C%20configPath%20%3D%20message%5B%22configPath%22%5D%20as%20String%2C%20title%20%3D%20message%5B%22title%22%5D%20as%20String%2C%20description%20%3D%20message%5B%22description%22%5D%20as%20String%2C%20version%20%3D%20message%5B%22version%22%5D%20as%20String%2C%20termsOfServiceURL%20%3D%20message%5B%22termsOfServiceURL%22%5D%20!%3D%20null%20%3F%20Uri.parse(message%5B%22termsOfServiceURL%22%5D%20as%20String)%20%3A%20null%2C%20contactEmail%20%3D%20message%5B%22contactEmail%22%5D%20as%20String%2C%20contactName%20%3D%20message%5B%22contactName%22%5D%20as%20String%2C%20contactURL%20%3D%20message%5B%22contactURL%22%5D%20!%3D%20null%20%3F%20Uri.parse(message%5B%22contactURL%22%5D%20as%20String)%20%3A%20null%2C%20licenseURL%20%3D%20message%5B%22licenseURL%22%5D%20!%3D%20null%20%3F%20Uri.parse(message%5B%22licenseURL%22%5D%20as%20String)%20%3A%20null%2C%20licenseName%20%3D%20message%5B%22licenseName%22%5D%20as%20String%2C%20hosts%20%3D%20(message%5B%22hosts%22%5D%20as%20List%3CString%3E)%3F.map((uri)%20%3D%3E%20APIServerDescription(Uri.parse(uri)))%3F.toList()%20%3F%3F%20%5B%5D%2C%20super(message)%3B%20OpenAPIBuilder.input(Map%3CString%2C%20dynamic%3E%20variables)%20%3A%20super(variables)%3B%20String%20pubspecContents%3B%20String%20configPath%3B%20String%20title%3B%20String%20description%3B%20String%20version%3B%20Uri%20termsOfServiceURL%3B%20String%20contactEmail%3B%20String%20contactName%3B%20Uri%20contactURL%3B%20Uri%20licenseURL%3B%20String%20licenseName%3B%20List%3CAPIServerDescription%3E%20hosts%3B%20%40override%20Future%3CMap%3CString%2C%20dynamic%3E%3E%20execute()%20async%20%7BDocumentedElement.provider%20%3D%20AnalyzerDocumentedElementProvider()%3B%20var%20config%20%3D%20ApplicationOptions()..configurationFilePath%20%3D%20configPath%3B%20final%20yaml%20%3D%20(loadYaml(pubspecContents)%20as%20Map%3Cdynamic%2C%20dynamic%3E).cast%3CString%2C%20dynamic%3E()%3B%20var%20document%20%3D%20await%20Application.document(ApplicationChannel.defaultType%2C%20config%2C%20yaml)%3B%20document.servers%20%3D%20hosts%3B%20if%20(title%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.title%20%3D%20title%3B%7D%20if%20(description%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.description%20%3D%20description%3B%7D%20if%20(version%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.version%20%3D%20version%3B%7D%20if%20(termsOfServiceURL%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.termsOfServiceURL%20%3D%20termsOfServiceURL%3B%7D%20if%20(contactEmail%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.contact%20%3F%3F%3D%20APIContact.empty()%3B%20document.info.contact.email%20%3D%20contactEmail%3B%7D%20if%20(contactName%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.contact%20%3F%3F%3D%20APIContact.empty()%3B%20document.info.contact.name%20%3D%20contactName%3B%7D%20if%20(contactURL%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.contact%20%3F%3F%3D%20APIContact.empty()%3B%20document.info.contact.url%20%3D%20contactURL%3B%7D%20if%20(licenseURL%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.license%20%3F%3F%3D%20APILicense.empty()%3B%20document.info.license.url%20%3D%20licenseURL%3B%7D%20if%20(licenseName%20!%3D%20null)%20%7Bdocument.info%20%3F%3F%3D%20APIInfo.empty()%3B%20document.info.license%20%3F%3F%3D%20APILicense.empty()%3B%20document.info.license.name%20%3D%20licenseName%3B%7D%20return%20document.asMap()%3B%7D%20static%20List%3CString%3E%20importsForPackage(String%20packageName)%20%3D%3E%20%5B%22package%3Aaqueduct%2Faqueduct.dart%22%2C%20%22package%3A%24packageName%2F%24packageName.dart%22%2C%20%22package%3Ayaml%2Fyaml.dart%22%2C%20%22package%3Aaqueduct%2Fsrc%2Futilities%2Fdocumented_element.dart%22%2C%20%22package%3Aaqueduct%2Fsrc%2Futilities%2Fdocumented_element_analyzer_bridge.dart%22%2C%20%22dart%3Aconvert%22%2C%20%22dart%3Aio%22%5D%3B%7D%0Aabstract%20class%20Executable%3CT%3E%20%7BExecutable(this.message)%20%3A%20_sendPort%20%3D%20message%5B%22_sendPort%22%5D%3B%20Future%3CT%3E%20execute()%3B%20final%20Map%3CString%2C%20dynamic%3E%20message%3B%20final%20SendPort%20_sendPort%3B%20U%20instanceOf%3CU%3E(String%20typeName%2C%20%7BList%20positionalArguments%3A%20const%20%5B%5D%2C%20Map%3CSymbol%2C%20dynamic%3E%20namedArguments%2C%20Symbol%20constructorName%7D)%20%7BClassMirror%20typeMirror%20%3D%20currentMirrorSystem().isolate.rootLibrary.declarations%5Bnew%20Symbol(typeName)%5D%3B%20if%20(typeMirror%20%3D%3D%20null)%20%7BtypeMirror%20%3D%20currentMirrorSystem().libraries.values.where((lib)%20%3D%3E%20lib.uri.scheme%20%3D%3D%20%22package%22%20%7C%7C%20lib.uri.scheme%20%3D%3D%20%22file%22).expand((lib)%20%3D%3E%20lib.declarations.values).firstWhere((decl)%20%3D%3E%20decl%20is%20ClassMirror%20%26%26%20MirrorSystem.getName(decl.simpleName)%20%3D%3D%20typeName%2C%20orElse%3A%20()%20%3D%3E%20throw%20new%20ArgumentError(%22Unknown%20type%20'%24typeName'.%20Did%20you%20forget%20to%20import%20it%3F%22))%3B%7D%20return%20typeMirror.newInstance(constructorName%20%3F%3F%20const%20Symbol(%22%22)%2C%20positionalArguments%2C%20namedArguments).reflectee%20as%20U%3B%7D%20void%20send(dynamic%20message)%20%7B_sendPort.send(message)%3B%7D%20void%20log(String%20message)%20%7B_sendPort.send(%7B%22_line_%22%20%3A%20message%7D)%3B%7D%7D%0A:14:35)
<asynchronous suspension>
#12 _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:275:32)
#13 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
]
**** Stacktrace
* #0 IsolateExecutor.execute (package:isolate_executor/src/executor.dart:67:14)
* <asynchronous suspension>
* #1 IsolateExecutor.run (package:isolate_executor/src/executor.dart:94:21)
* <asynchronous suspension>
* #2 _CLIDocumentClient&CLICommand&CLIProject&CLIDocumentOptions.documentProject (package:aqueduct/src/cli/mixins/openapi_options.dart:81:28)
* <asynchronous suspension>
* #3 CLIDocumentClient.handle (package:aqueduct/src/cli/commands/oai_client.dart:14:23)
* <asynchronous suspension>
* #4 CLICommand.process (package:aqueduct/src/cli/command.dart:158:20)
* <asynchronous suspension>
* #5 CLICommand.process (package:aqueduct/src/cli/command.dart:134:12)
* <asynchronous suspension>
* #6 CLICommand.process (package:aqueduct/src/cli/command.dart:134:12)
* <asynchronous suspension>
* #7 main (file:///Users/timsneath/.pub-cache/hosted/pub.dartlang.org/aqueduct-3.0.0/bin/aqueduct.dart:9:27)
* <asynchronous suspension>
* #8 _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:277:32)
* #9 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
****
$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment