add single files, secure server, hello world

This commit is contained in:
2020-02-09 23:35:18 +08:00
parent 9f8a7ccc59
commit 2ddf9538ea
17 changed files with 270 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
import 'dart:io';
void main(List<String> args) {
print(args);
var env = Platform.environment;
print(Platform.script);
print(Platform.numberOfProcessors);
print(Platform.operatingSystem);
print(Platform.isMacOS);
print(Platform.isLinux);
print(Platform.isWindows);
}

2
single_file_tests/f.txt Normal file
View File

@@ -0,0 +1,2 @@
hello
world

View File

@@ -0,0 +1,11 @@
import 'dart:io';
main() async {
var f = new File('f.txt');
var contents = await f.readAsString();
var lines = await f.readAsLines();
print('Contents:' + contents);
print('Lines:' + lines.join('||'));
}

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env dart
import 'dart:io';
// https://juejin.im/post/5d7f4c35f265da03c50341df
void main() async{
File file = new File('test.txt');
IOSink isk = file.openWrite(mode: FileMode.append);
isk.write('Line 1');
isk.writeln(', also line 1');
isk.writeln('Line 2');
await isk.close();
print('Done!');
}

View File

@@ -0,0 +1,28 @@
#!/usr/bin/env dart
import 'dart:io';
import 'dart:async';
main() async {
//Stream<FileSystemEntity> entityList = Directory.systemTemp.list(recursive: true, followLinks: false);
Stream<FileSystemEntity> entityList = Directory.current.list(recursive: true, followLinks: false);
await for (FileSystemEntity entity in entityList) {
FileSystemEntityType type = await FileSystemEntity.type(entity.path);
String label;
switch (type) {
case FileSystemEntityType.directory:
label = 'D';
break;
case FileSystemEntityType.file:
label = 'F';
break;
case FileSystemEntityType.link:
label = 'L';
break;
default:
label = 'UNKNOWN';
}
print('$label: ${entity.path}');
}
}

View File

@@ -0,0 +1,15 @@
import 'dart:io';
import 'dart:convert';
main() async {
var url = Uri.parse('https://hatter.ink/ip/ip.jsonp');
var httpClient = new HttpClient();
var request = await httpClient.getUrl(url);
print('have request');
var response = await request.close();
print('have response');
var data = await response.transform(utf8.decoder).toList();
var body = data.join('');
print(body);
httpClient.close();
}

View File

@@ -0,0 +1,10 @@
#!/usr/bin/env dart
import 'dart:io' show Platform;
main() {
Map<String, String> envVars = Platform.environment;
envVars.forEach((k, v) => {
print('$k = $v')
});
}

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env dart
import 'dart:io';
main(List<String> args) async {
print("[INFO] Arguments: $args");
if (args.length == 0) {
print("No file assigned.");
return;
}
final contents = await new File(args[0]).readAsString();
print(contents);
}

View File

@@ -0,0 +1,7 @@
import 'dart:math';
main() {
final intRandom = new Random();
print('Int random: ${intRandom.nextInt(100)}');
}

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env dart
import 'dart:io';
main() async {
// run
var results = await Process.run('ls', ['-l']);
print(results.stdout);
// start
var process = await Process.start('ls', ['-l']);
var exitCode = await process.exitCode;
print('exit code: $exitCode');
}

View File

@@ -0,0 +1,16 @@
#!/usr/bin/env dart
import 'dart:io';
import 'dart:convert';
main() async {
final url = Uri.parse('https://hatter.ink/ip/ip.jsonp');
final httpClient = new HttpClient();
httpClient.connectionTimeout = const Duration(seconds: 6);
final request = await httpClient.getUrl(url);
final response = await request.close();
final data = await response.transform(utf8.decoder).toList();
final body = data.join('');
print(body);
httpClient.close();
}

View File

@@ -0,0 +1,22 @@
import 'dart:io';
main() async {
dartHandler(HttpRequest request) {
request.response.headers.contentType =
new ContentType('text', 'plain');
request.response.write('Dart is optionally typed');
request.response.close();
}
print('Listen at :8888');
var requests = await HttpServer.bind('0.0.0.0', 8888);
await for (var request in requests) {
print('Got request for ${request.uri.path}');
if (request.uri.path == '/languages/dart') {
dartHandler(request);
} else {
request.response.write('Not found');
request.response.close();
}
}
}

View File

@@ -0,0 +1,11 @@
#!/usr/bin/env dart
import 'dart:io';
main() {
if (stdioType(stdout) == StdioType.terminal) {
print("Is term.");
} else {
print("Not term.");
}
}