(object = {})
| 563 | } |
| 564 | |
| 565 | done(object = {}) { |
| 566 | const endTime = new Date().getTime() |
| 567 | const costTime = (endTime - this.startTime) / 1000 |
| 568 | this.log('', `🔔${this.name}, 结束! 🕛 ${costTime} 秒`) |
| 569 | switch (this.platform()) { |
| 570 | case 'Surge': |
| 571 | if (object.policy) this.lodash_set(object, "headers.X-Surge-Policy", object.policy) |
| 572 | $done(object) |
| 573 | break |
| 574 | case 'Loon': |
| 575 | if (object.policy) object.node = object.policy |
| 576 | $done(object) |
| 577 | break |
| 578 | case 'Stash': |
| 579 | if (object.policy) this.lodash_set(object, "headers.X-Stash-Selected-Proxy", encodeURI(object.policy)) |
| 580 | $done(object) |
| 581 | break |
| 582 | case 'Egern': |
| 583 | $done(object) |
| 584 | break |
| 585 | case 'Shadowrocket': |
| 586 | default: |
| 587 | $done(object) |
| 588 | break |
| 589 | case 'Quantumult X': |
| 590 | if (object.policy) this.lodash_set(object, "opts.policy", object.policy) |
| 591 | // 移除不可写字段 |
| 592 | delete object["auto-redirect"] |
| 593 | delete object["auto-cookie"] |
| 594 | delete object["binary-mode"] |
| 595 | delete object.charset |
| 596 | delete object.host |
| 597 | delete object.insecure |
| 598 | delete object.method // 1.4.x 不可写 |
| 599 | delete object.opt // $task.fetch() 参数, 不可写 |
| 600 | delete object.path // 可写, 但会与 url 冲突 |
| 601 | delete object.policy |
| 602 | delete object["policy-descriptor"] |
| 603 | delete object.scheme |
| 604 | delete object.sessionIndex |
| 605 | delete object.statusCode |
| 606 | delete object.timeout |
| 607 | if (object.body instanceof ArrayBuffer) { |
| 608 | object.bodyBytes = object.body |
| 609 | delete object.body |
| 610 | } else if (ArrayBuffer.isView(object.body)) { |
| 611 | object.bodyBytes = object.body.buffer.slice(object.body.byteOffset, object.body.byteLength + object.body.byteOffset) |
| 612 | delete object.body |
| 613 | } else if (object.body) delete object.bodyBytes |
| 614 | $done(object) |
| 615 | break |
| 616 | } |
| 617 | } |
| 618 | })(name, opts) |
| 619 | } |
nothing calls this directly
no test coverage detected